Qt Creator 和 MSVC - 在调试时忽略特定的异常类型?

Qt Creator and MSVC - Ignoring specific exception types on debugging?

我目前正在使用 Qt Creator 4.4.1Qt 5.9.2MSVC 2015 32/64 位编译器在 Windows 7.

上创建 DLL

在 Qt Creator 下

项目 -> Build & 运行 -> Desktop Qt 5.9.2 MSVC2015 xx -> 运行 -> 可执行

我已经指定了加载我的 DLL 的主机应用程序,所以当我点击 F5 时,这个应用程序将被执行并加载我的 DLL,没有任何缺陷。

然而,在加载时,主应用程序引发了一个我没有亲自动手的异常,使得 Qt Creator 显示了一个包含以下内容的消息框:

下位因触发异常而停止。 通过以下方式在线程 0 中停止:异常发生在 0x60251637,代码 0xc0000005:写入访问冲突发生在:0x1,标志 = 0x0(第一次机会)。

我现在必须关闭消息框并再次按 F5 继续。

因为每次测试我都得这样做运行,一次又一次,这真的很烦人。那么,有没有一种最简单的方法可以让 Qt Creator 的 CDB 忽略 仅特定类型 的异常?

我遇到了同样的问题,问题可能是变量没有初始化引起的,例如:

QLable *lable;

如果忘记为这个变量分配内存,就会导致这个错误。

lable = new QLable(this);

我认为你应该检查你的变量。

查看调用堆栈,找到相关代码,看看它做了什么。您应该在该行周围找到 try ... catch ...。查看是否可以通过某种方式避免异常,通常是通过引入 if ... else ...

如果您无法避免它,并且您确定忽略它真的很安全,请使用命令行参数 -c "sxn c0000005" 或等效的 -c "sxn av" 启动 CDB,其中 AV 是 [=19] 的缩写=].您可以使用 sx 查看所有例外设置。