我目前正在使用 Qt Creator 4.4.1 和 Qt 5.9.2 以及 MSVC 2015 32/64 位编译器来创建Windows 7 上的 DLL。
在Qt Creator下
项目 -> Build & Run -> Desktop Qt 5.9.2 MSVC2015 xx位 -> < strong>运行 -> 可执行
我已经指定了加载我的 DLL 的主机应用程序,因此当我按下 F5 时,该应用程序将被执行并加载我的 DLL,没有任何缺陷。
但是,在加载时,主应用程序引发了一个我没有动手的异常,使 Qt Creator 显示了一个包含以下内容的消息框:
inferior 停止是因为它触发了异常。 因以下原因在线程 0 中停止:异常发生在 0x60251637,代码 0xc0000005:写入访问冲突发生在:0x1,标志 = 0x0(第一次机会)。
我现在必须关闭消息框并再次按 F5 继续。
因为每次测试运行我都必须这样做,一次又一次,这真的很烦人。那么,有没有一种最简单的方法可以让 Qt Creator 的 CDB 忽略仅特定类型的异常?
最佳答案
查看调用堆栈,找到相关代码,看看它做了什么。您应该在该行周围找到 try ... catch ...
。查看是否可以通过某种方式避免异常,通常是通过引入 if ... else ...
。
如果您无法避免它,并且您确定忽略它真的很安全,请使用命令行参数启动 CDB -c "sxn c0000005"
或等效的 -c "sxn av "
,其中 AV 是“访问冲突”的缩写。您可以使用 sx
查看所有异常设置。
关于c++ - Qt Creator 和 MSVC - 在调试时忽略特定的异常类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47568538/