views:

759

answers:

1

What are the different functions mscordacwks.dll and mscorwks.dll performing in .Net framework runtime, build and in debugging process? Are there any recommended readings for this topic? I have searched for quite some time but failed.

thanks in advance, George

+3  A: 

mscorwks is the main MS CLR implementation.

mscordacwks provides a data-access abstraction over the CLR details, so that debuggers (such as SOS) don't need to know too much about the internals of mscorwks. A discussion is given here.

But in general, you simply don't need to work with these - so unless you're writing your own IDE/debugger, you can probably leave them alone.

Marc Gravell
Marc, I read the document you recommended carefully. In my situation, the machine which generates dump is using different .Net version compared with the machine which I am using to debug using Windbg. Learned from this document, I think I need to copy not only mscordacwkd.dll (continue)
George2
(continued), but also copy sos.dll and mscorwks.dll?
George2
Another confusion is, the purpose of mscordacwks.dll is used to abstract the differences between various versions of CLR engine (mscorwks.dll), if each time when mscorwks.dll changes, we have to change mscordacwks.dll, the purpose of mscordacwks.dll will never achieved -- because (continue)
George2
(continued) mscordacwks.dll changes with the mscorwks.dll. I have this confusion because after reading this document, it is mentioned mscorwks/mscordacwks/sos have to be of the same version. Any comments?
George2
Sorry, I'm not sure I can add much more...
Marc Gravell