使用 Debugger.Break() 将调试器附加到 Vista 或 Windows 7 上正在运行的进程

Posted

技术标签:

【中文标题】使用 Debugger.Break() 将调试器附加到 Vista 或 Windows 7 上正在运行的进程【英文标题】:Attaching a debugger to a running process on Vista or Windows 7 using Debugger.Break() 【发布时间】:2009-12-16 03:03:53 【问题描述】:

在 Vista 上遇到 Debugger.Break() 语句时,您将收到以下消息:

“SomeProcess.exe 遇到了用户定义的断点。”

如果您以正确的顺序单击选项,您也许可以附加您的调试器。如果你不这样做,你就不会。你如何强制 Windows 每次都给你 Attach 对话框?

【问题讨论】:

【参考方案1】:

有一个注册表项会强制执行此行为。

此注册表设置位于[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\ DbgJITDebugLaunchSetting]

它的默认值为 16。将其更改为 2,将立即显示 JIT 调试器对话框。

http://bphillips76.spaces.live.com/blog/cns!F9B548E4C21D6166!364.entry

【讨论】:

以上是关于使用 Debugger.Break() 将调试器附加到 Vista 或 Windows 7 上正在运行的进程的主要内容,如果未能解决你的问题,请参考以下文章

如何在Visual Studio中调试Windows服务?

如何使用 mstest 增加单元测试运行的全局超时

在T4模板中设置断点

Mac10.14下使用Xcode10编译调试OpenJDK8最新教程(附源码)

MAUI安卓子系统调试方法(附安装教程)

为啥调试器不知道我的 Core Data 生成的托管对象类上的方法? (附代码)