如何停止“即时调试”阻塞构建服务器的消息
我们的构建服务器(TeamCity,强烈推荐)在我们完成的 C++ 程序上运行一大堆测试套件。
总而言之,测试会导致我们的程序崩溃,通常会弹出一个 VisualStudio 对话框,让我可以通过 JustInTime 调试崩溃。该对话框使构建服务器停止运行。它不会将构建标记为失败,而是挂起。我已经关闭了 VisualStudio 中的即时调试功能,但是当它关闭时,您仍然收到一条消息“无法进行 JustinTime 调试,您可以在选项中将其打开”。
有谁知道一种方法来确保程序中任何未处理的异常不会导致任何模式对话框?
Our buildserver (TeamCity, much recommended), runs our a whole bunch of testsuites on our finished c++ program.
Once in a whole, a test causes our program to crash, often bringing up a VisualStudio dialog offering me to JustInTime debug the crash. The dialog stops the buildserver from progressing. Instead of the build marked as failed, it just hangs. I've turned off the Just In Time debugging feature in VisualStudio, but when it's turned off, you still get a message "Couldn't JustinTime Debug this, you can turn it on in the options".
Does anybody know of a way to ensure that any unhandled exception in a program does not result in any modal dialog?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这篇 MSDN 文章介绍了如何禁用即时调试在 Windows 服务器上。我已将文章的相关部分包含在下面:
This MSDN article explains how to disable Just-In-Time debugging on a Windows server. I've included the relevant portion of the article below:
删除(或重命名)c:\windows\system32\vsjitdebugger.exe。
我尝试删除注册表项,并尝试取消选中 Visual Studio 选项中的所有框,但都不起作用。
需要明确的是,我的情况不是 C++ 的情况。我使用的是 Micro Focus COBOL for Visual Studio 2010,通过使用注册表和 VS 选项建议,我设法摆脱了“想要调试?”的问题。对话框,但这导致了一个不同的对话框来阻止我的自动化过程:
Delete (or rename) c:\windows\system32\vsjitdebugger.exe.
I tried deleting the registry keys, and I tried unchecking all the boxes in the Visual Studio options, but neither worked.
To be clear, my situation wasn't a C++ one. I was using Micro Focus COBOL for Visual Studio 2010, and by using the registry and VS options suggestions I managed to get rid of the "Want to debug?" dialog, but that resulted in a different dialog to hold up my automated process:
我不建议编辑/删除注册表。通常注册表是一团糟。
对我有帮助的解决方案非常简单。我刚刚将 JIT 调试器添加到我的 Visual Studio 中。步骤如下:
打开
Windows 控制面板
程序
程序和功能
查找
Visual Studio 2017
更改
。在新打开的窗口中,导航到Individual Components
选项卡,Just-In-Time debugger
复选框,modify
之后VS 重新加载错误应该得到修复。
I would not recommend to edit/remove regs. Usually the registry is a mess to play with.
The solution that helps me is a quite simple. I`ve just added JIT debugger to my Visual Studio. Steps are:
Open
Windows Control panel
Programs
Programs and Features
Find
Visual Studio 2017
Change
. On a new opened window navigate to theIndividual Components
tabJust-In-Time debugger
checkboxmodify
After VS reload the error should be fixed.
就我而言,在 win2012 服务器上,我尝试:
,但它仍然出现!
我重启了等等
使我的网站在 IIS 中停滞不前,直到对话框被确认为止!
最终解决方案确实有效:在控制面板中,在程序中:卸载“Microsoft Visual Studion 2010 Shell(隔离)”卸载它,问题就解决了。
(SQL Management Studio 是否仍然有效......我不知道!)
In my case , on win2012 server, I tried:
and it still came up!
I rebooted, etc.
Was making my web site in IIS stall until dialog was acknowledged!
Final solution, which did work: In control panel, in Programs: Uninstalled "Microsoft Visual Studion 2010 Shell (Isolated)" Uninstalled that, and problem solved.
(Whether SQL Management Studio still works.... I do not know!)
在问题窗口中
单击是(新窗口打开)> 选项(顶行菜单)> DEBUG
然后在新窗口中删除显示ENABLE JUST IN TIME DEBUGGER的勾选。
禁用JUST IN TIME 调试器后,关闭窗口或单击确定
你的问题将会得到解决。我已经尝试过这个并摆脱了及时弹出消息。
In the Window for the question
Click YES (new window opens) > OPTIONS (top row menu) > DEBUG
Then in the New window remove the TICK which shows ENABLE JUST IN TIME DEBUGGER.
After disabling the JUST IN TIME debugger close the window or click OK
Your problem will be solved. I've tried this and got rid of the JUST IN TIME POP UP messages.
这个问题的最佳解决方案就是这么简单
只需 2 个步骤即可完成
打开cmd提示符
类型:注册表
转到路径-->HKEY_LOCAL_MACHINE-->软件-->Microsoft-->Windows NT-->CurrentVersion-->AeDebug
您现在可以找到该文件:调试器
右键,修改
复制此文本并将其粘贴到其中:
drwtsn32 -p %ld -e %ld -g
单击“确定”,瞧:)
Best Solution for this problem is so simple
2 steps to make it done
open cmd prompt
type : regedit
go to path-->HKEY_LOCAL_MACHINE-->SOFTWARE-->Microsoft-->Windows NT-->CurrentVersion-->AeDebug
You can find now the file : Debugger
right click , Modify
copy and paste this text inside it:
drwtsn32 -p %ld -e %ld -g
click ok and voila :)