views:

467

answers:

2

After watching the latest hanselminutes on 9 video, I went to our dev environment and grabbed a dump of a few different services.

After opening the dump file I noticed that some were able to be debugged in Mixed mode and Native mode, and others in Native mode only. Being that every service is written in managed code, why wouldn't mixed mode be available?

A: 

What 'different services' did you grab a dump of?

'Being that every service is written in managed code' - This isn't correct. Not all services are managed code. In fact, I'd imagine that most aren't. I don't think any of the services currently running on my box (still WinXP - I'm actually starting to get embarrassed at how out of date it is...) are managed code.

The service execution model is specified in the Win32 API, so even if all of the services that came with windows were written in managed code, third parties can still write, provide and install native-code services.

Maybe more and more services are managed code now on Vista and Win7, but certainly by no means are all of them.

Michael Burr
Let me clarify by saying they are all services WE wrote in managed code.
Joe
Ah, well that's a quite different story...
Michael Burr
+2  A: 

I figured it out. According to the MSDN docs

The debugger now fully supports debugging of managed dumps for applications that are using common language-run-time (CLR) version 4.0.

It turns out that the few processes that did not have Mixed Mode debugging enabled were of course written in 3.5. I guess I should have read the docs sooner. :)

Joe