如何在检测到HEAP损坏时禁用MSVC运行库弹出菜单

Howto Disable Popup from MSVC Runtime Libraray on HEAP CORRUPTION DETECTED

本文关键字:运行 MSVC 菜单 检测 损坏 HEAP      更新时间:2023-10-16

我有一个c++应用程序,它损坏了堆。当我执行它时,我会从"Microsoft Visual C++Runtime Libraray"中弹出一个弹出窗口,标题为"调试错误!",错误消息为"HEAP CORRUPTION DETECTED:…"。

我有一个詹金斯在做几份工作。当这个错误发生时,这个弹出窗口会出现,执行会被阻止,阻塞我的从属程序。

我的问题是:如何更改窗口和/或运行时库的行为,使有问题的应用程序中止,并将此事实记录在stdout上?我使用drwtsn.exe看到了一些答案,但此工具不适用于较新的窗口。同时禁用Windows错误报告未按预期工作。

谢谢你的帮助!

如果您可以修改有问题的应用程序,请调用SetUnhandledExceptionFilter以调用例如abort,这样就不会显示对话框。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms680634(VS.85).aspx