如何阻止阻止构建服务器的"及时调试"消息

Luc*_*jer 29 teamcity visual-studio

我们的构建服务器(TeamCity,非常推荐)在我们完成的c ++程序上运行我们的一大堆测试套件.

一旦进入整体,测试会导致我们的程序崩溃,通常会打开一个VisualStudio对话框,让我向JustInTime调试崩溃.该对话框将阻止buildserver继续进行.它只是挂起而不是标记为失败的构建.我已经关闭了VisualStudio中的即时调试功能,但是当它关​​闭时,你仍然会收到一条消息"无法JustinTime调试这个,你可以在选项中打开它".

有没有人知道确保程序中任何未处理的异常不会导致任何模态对话的方法?

Eme*_*gul 38

此MSDN文章介绍了如何在Windows服务器上禁用实时调试.我已经包含了以下文章的相关部分:

在服务器上安装Visual Studio之后,发生未处理的异常时的默认行为是显示"异常"对话框,该对话框需要用户干预才能启动实时调试或忽略该异常.这对于无人操作可能是不合需要的.要将服务器配置为在发生未处理的异常时(安装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

  • 我还需要禁用Windows错误报告.除了这些步骤,我建议这样做.http://stackoverflow.com/a/554596/767098 http://msdn.microsoft.com/en-us/library/windows/desktop/bb513638(v=vs.85).aspx (2认同)

feu*_*ene 14

删除(或重命名)c:\ windows\system32\vsjitdebugger.exe.

我尝试删除注册表项,我尝试取消选中Visual Studio选项中的所有框,但都没有工作.

要清楚,我的情况不是C++.我在Visual Studio 2010中使用Micro Focus COBOL,通过使用注册表和VS选项建议,我设法摆脱了"想要调试?" 对话框,但这导致了一个不同的对话框来阻止我的自动化过程:

Visual Studio即时调试程序

CASDBC.exe [3564]中发生了未处理的异常('COBOL运行时:检测到故障').即时调试此异常失败,并显示以下错误:未安装的调试器启用了即时调试.在Visual Studio中,可以从Tools/Options/Debugging/Just-In-Time启用即时调试.

有关详细信息,请查看"即时调试,错误"的文档索引.


neb*_*raa 6

我不建议编辑/删除注册表。通常注册表是一团糟。

对我有帮助的解决方案非常简单。我刚刚将 JIT 调试器添加到我的 Visual Studio 中。步骤是:

  • 打开Windows Control panel

  • Programs

  • Programs and Features

  • 寻找Visual Studio 2017

  • 点击Change。在新打开的窗口中导航到Individual Components选项卡
  • 勾选Just-In-Time debugger复选框
  • 点击modify

在此输入图像描述

VS 重新加载后,错误应该得到修复。