如何禁用visual studio或输出exe上的调试断言对话框



如何在visualstudio或输出可执行文件中禁用断言对话框。我正在使用c++。

当运行我的可执行文件时,我会得到"调试"对话框,其中包含"中止/重试/忽略"选项

我已经尝试了以下选项,但没有成功:即使在注销后也没有成功:

选项1:

在工具选项下的实时调试中清除托管、本机或脚本

选项2:

HKLM\Software\MMicrosoft.NETFramework

将DbgJITDebugLaunchSetting从10(十六进制)更改为1(十六进制

选项3:

  1. 启动注册表编辑器并在HKEY_LOCAL_MACHINE子树中找到以下注册表子项:\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\AEDEBUG-

  2. 选择"调试器"值。

  3. 在"编辑"菜单上,单击"字符串"

•要使用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++

最新更新