如何禁用visual studio或输出exe上的调试断言对话框
How to disable debug assertion dialog visual studio or on the output exe
如何在visualstudio或输出可执行文件中禁用断言对话框。我正在使用c++。
当运行我的可执行文件时,我会得到"调试"对话框,其中包含"中止/重试/忽略"选项
我已经尝试了以下选项,但没有成功:即使在注销后也没有成功:
选项1:
在工具选项下的实时调试中清除托管、本机或脚本
选项2:
HKLM\Software\MMicrosoft.NETFramework
将DbgJITDebugLaunchSetting从10(十六进制)更改为1(十六进制
选项3:
-
启动注册表编辑器并在HKEY_LOCAL_MACHINE子树中找到以下注册表子项:\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\AEDEBUG-
-
选择"调试器"值。
- 在"编辑"菜单上,单击"字符串"
•要使用Windows调试器,请键入windbg-p%ld-e%ld。•若要使用Visual C++4.2或更早版本,请键入msvc-p%ld-e%ld。•若要使用Visual C++5.0或更高版本,请键入msdev.exe-p%ld-e%ld。•要使用Dr.Watson,请键入drwtsn32.exe-p%ld-e%ld。您还可以通过运行以下命令使Dr.Watson成为默认调试器:drwtsn32.exe-i。4.选择"确定"并退出注册表编辑器。
带有选项Abort/Retry/Ignore的调试对话框仅出现在程序的调试版本中。首先,您可以尝试在Release中编译应用程序。第二个选项是重新定义使该对话框出现的ASSERT宏。当然,只有当你的应用程序在源代码中并且能够重新编译时,这些选项才有效。由于你的应用软件是二进制的,所以只有在调用messagebox以强制跳过messagebox调用时,你才能在适当的位置破解这个二进制文件
更新:您似乎试图使用影响CLR(.NET)应用程序的选项。当使用非托管C++时,它没有任何作用。请参阅项目属性->C/C++->常规->公共语言运行时支持选项。如果它为空或"不支持",则使用清除非托管C++
- 从 exe 文件 (Visual Studio ) 启动时调试断言失败
- 使用扫描的调试断言失败
- 图片不显示,关闭时出错 --> 调试断言失败!表达式:is_block_type_valid(标头>_block_use)
- C++ 调试断言失败 - 矢量下标超出视觉工作室的范围
- 调试断言失败的缓冲区!=nullptr
- 获取有关调试断言失败的错误:表达式:"(_Ptr_user &(_BIG_ALLOCATION_ALIGNMENT -1)) == 0" &&0
- 在Win10上使用带有Qt5的OpenCV3.0,调试断言失败
- C++,弹出调试断言失败窗口,我得到矢量迭代器不兼容的错误运行时
- C++ 调试断言失败,无效的空指针
- 如何在 Linux 上强制执行矢量下标超出范围的调试断言
- 调试断言仅在某些情况下失败?C++
- 调试断言失败
- 映射/集迭代器不可取消引用 (C++) - 调试断言失败
- std::vector<std::vector<int>>:调试断言失败。C++矢量下标超出范围保留内存
- 使用 Microsoft VS 编写程序C++,但我在这里收到调试断言消息.它可以在 cpp.sh 上运行,repl.i
- 字符串抛出矢量下标调试断言
- 使用调试断言时避免 ODR 冲突
- MFC DDX_RADIO会导致调用dodataexchange(dlgdata.cpp行286)时导致调试断言失败
- 无法在谷歌测试中捕获调试断言(死亡测试不满足它)
- 调试断言失败的矢量下标超出C 范围