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

时间:2015-02-04 08:23:33

标签: c++ visual-studio-2010

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

运行我的可执行文件时,我得到Debug对话框,其中包含Abort / Retry / Ignore选项

我已经尝试过以下选项但没有成功: 注销后没有成功:

选项1:

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

选项2:

HKLM \ SOFTWARE \ Microsoft.NETFramework

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

选项3:

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

  2. 选择调试器值。

  3. 在“编辑”菜单上,单击“字符串”。
  4. •要使用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.选择“确定”并退出注册表编辑器。

1 个答案:

答案 0 :(得分:0)

带有选项的

调试对话框Abort / Retry / Ignore仅出现在程序的Debug版本中。首先你可以尝试在Release中编译应用程序。第二个选项是重新定义ASSERT宏以使该对话框出现。当然,只有当您的应用程序具有源代码并能够重新编译时,这些选项才有效。由于您有二进制应用程序,因此当调用messagebox强制跳过消息框调用时,您只能破解此二进制文件。
更新:您似乎尝试使用影响CLR(.NET)应用程序的选项。使用非托管C ++时,它没有任何效果。请参阅项目属性 - > C / C ++ - > General-> Common Language Runtime支持选项。如果它是空的或“#34;没有支持"”,则使用明确的非托管C ++