我们的构建服务器(TeamCity,非常推荐)在我们完成的c ++程序上运行了一大堆测试套件。
一旦进入整体,测试会导致我们的程序崩溃,通常会打开一个VisualStudio对话框,让我向JustInTime调试崩溃。该对话框将阻止buildserver继续进行。它只是挂起而不是标记为失败的构建。我已经关闭了VisualStudio中的即时调试功能,但是当它关闭时,你仍会收到一条消息“无法JustinTime调试这个,你可以在选项中打开它。”
有没有人知道确保程序中任何未处理的异常不会导致任何模态对话的方法?
答案 0 :(得分:36)
This MSDN article explains how to disable Just-In-Time debugging on a Windows server。我已经包含了以下文章的相关部分:
在服务器上安装Visual Studio后,未处理时的默认行为 发生异常是显示需要用户干预的异常对话框 要么启动Just-In-Time调试,要么忽略异常。这可能是不合需要的 无人值守的操作。配置服务器时不再显示对话框 发生未处理的异常(安装Visual Studio之前的默认行为),使用 注册表编辑器删除以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger
在64位操作系统上,还删除以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger
答案 1 :(得分:12)
删除(或重命名)c:\ windows \ system32 \ vsjitdebugger.exe。
我尝试删除注册表项,我尝试取消选中Visual Studio选项中的所有框,但都没有工作。
要说清楚,我的情况不是C ++。我在Visual Studio 2010中使用Micro Focus COBOL,通过使用注册表和VS选项建议,我设法摆脱了“想要调试?”#34;对话框,但这导致了一个不同的对话框来阻止我的自动化过程:
Visual Studio即时调试程序
CASDBC.exe [3564]中发生了未处理的异常(' COBOL运行时:检测到故障')。即时调试 此异常失败,出现以下错误:未安装调试器 启用了即时调试功能。在Visual Studio中,即时 可以从Tools / Options / Debugging / Just-In-Time中启用调试。
检查文档索引以及及时调试,错误'对于 更多信息。
确定
答案 2 :(得分:4)
就我而言,在win2012服务器上,我尝试过:
它仍然出现了!
我重启等等 在确认对话框之前,我的网站是否在IIS中停止!
最终解决方案,它确实有效:在控制面板中,在程序中:卸载“Microsoft Visual Studion 2010 Shell(隔离)”卸载它,问题解决了。
(SQL Management Studio是否仍然有效......我不知道!)
答案 3 :(得分:3)
在问题窗口中
是否要使用所选调试器进行调试?
点击是(新窗口打开)> OPTIONS (顶行菜单)> DEBUG
然后在新窗口中删除 TICK ,其中显示 ENABLE JUST IN TIME DEBUGGER 。 禁用 JUST IN TIME调试器后关闭窗口或单击确定 你的问题将得到解决。我试过这个并摆脱了 JUST IN TIME POP UP 消息。
答案 4 :(得分:0)
我不建议编辑/删除注册表。通常,注册表很烂。
对我有帮助的解决方案非常简单。我刚刚将JIT调试器添加到了Visual Studio。步骤是:
打开Windows Control panel
Programs
Programs and Features
找到Visual Studio 2017
Change
。在新打开的窗口中,导航至Individual Components
标签Just-In-Time debugger
复选框modify
VS重新加载后,错误应该得到解决。
答案 5 :(得分:-1)
此问题的最佳解决方案非常简单 完成2个步骤 打开cmd提示符 类型:注册表 转到路径 - > HKEY_LOCAL_MACHINE - >软件 - > Microsoft - > Windows NT - > CurrentVersion - > AeDebug 您现在可以找到文件:Debugger 右键单击,修改 将此文本复制并粘贴到其中:
drwtsn32 -p%ld -e%ld -g
点击确定,然后瞧瞧:)