在看完最新的hanselminutes on 9视频后,我去了我们的开发环境,抓取了一些不同的服务。
打开转储文件后,我注意到一些可以在混合模式和Native模式下调试,而另一些只能在Native模式下调试。既然每个服务都是用托管代码编写的,为什么混合模式不可用呢?
发布于 2009-11-14 05:40:52
我想通了。根据MSDN docs的说法
调试器现在完全支持调试使用公共语言运行时(CLR4.0)版本的应用程序的托管转储。
事实证明,少数没有启用混合模式调试的进程当然是用3.5编写的。我想我应该早点读一下文档。:)
发布于 2009-11-12 14:52:28
你抓取了哪些“不同的服务”?
“因为每个服务都是用托管代码编写的”--这是不正确的。并不是所有的服务都是托管代码。事实上,我想大多数都不是。我不认为我的机器上当前运行的任何服务(仍然是WinXP -我实际上开始为它的过时而感到尴尬……)是托管代码。
服务执行模型是在windows中指定的,因此,即使Win32附带的所有服务都是用托管代码编写的,第三方仍然可以编写、提供和安装本机代码服务。
也许现在越来越多的服务是Vista和Win7上的托管代码,但肯定不是所有的。
https://stackoverflow.com/questions/1690948
复制相似问题