我正在用C ++编写一个类,我无法使用F5进行debugging。 代码将从另一个将调用它的“服务”运行。 在过去,我使用__debugbreak()
,当我有一个窗口告诉我,select了一个exception来debugging它。
最近我已经更新到Windows 7,并保持工作一段时间。
今天,当我试图debugging一段代码,而不是显示常规对话框,告诉我VSTestHost已停止工作,并使我能够debugging应用程序,我得到了一个不同的对话框,build议我将数据发送到微软进行分析。
有谁知道我怎么能解决这个问题,所以我将能够debugging我的代码?
最后我找到了问题的原因。 这是一个Vista / Win7的原因:
虽然这是更多的IT解决方案/问题,我一直困扰着这个问题整天,并想与其他遇到这个问题的开发人员分享解决方案。
在这种情况下…
以下是您需要在Microsoft Windows 7机器上启用调试的快速概览:
更新Just-In-Time调试器设置DbgJITDebugLaunchSetting。 该设置位于注册表[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework]中。
将DbgJITDebugLaunchSetting的值设置为2.如果您使用的是64位操作系统,则还必须在此文件夹[HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework]中将同一个键(DbgJITDebugLaunchSetting)设置为2.如果遇到任何问题尝试以管理员身份运行CodeSmith Studio和Visual Studio。 现在,当CodeSmith进入一个中断点时,你会看到如下所示:
你可以尝试调试>附加到进程。