2

在观看了最新的hanselminutes on 9视频后,我进入了我们的开发环境并抓取了一些不同服务的转储。

打开转储文件后,我注意到有些可以在混合模式和本机模式下调试,而另一些只能在本机模式下调试。既然每个服务都是用托管代码编写的,为什么混合模式不可用?

4

2 回答 2

3

我想到了。根据MSDN 文档

调试器现在完全支持调试使用公共语言运行时 (CLR) 版本 4.0 的应用程序的托管转储。

事实证明,少数没有启用混合模式调试的进程当然是用 3.5 编写的。我想我应该早点阅读文档。:)

于 2009-11-13T21:40:52.220 回答
0

您收集了哪些“不同的服务”?

“因为每个服务都是用托管代码编写的” - 这是不正确的。并非所有服务都是托管代码。事实上,我想大多数都不是。我不认为当前在我的机器上运行的任何服务(仍然是 WinXP - 我实际上开始为它已经过时而感到尴尬......)是托管代码。

服务执行模型是在 Win32 API 中指定的,因此即使 Windows 附带的所有服务都是用托管代码编写的,第三方仍然可以编写、提供和安装本机代码服务。

也许现在越来越多的服务是在 Vista 和 Win7 上的托管代码,但肯定不是全部。

于 2009-11-12T06:52:28.263 回答