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

标签 c++ qt visual-c++ qt-creator windbg

我目前正在使用 Qt Creator 4.4.1Qt 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/

相关文章:

python - C1083 无法打开包含文件 : "Python.h": No such file or directory

c++ - Visual Studio 2013 如何检测缓冲区溢出

c++ - 如何获取当前运行模块的sc_module_name

c++ - 为什么我的程序不能正常运行?

linux - 警告 : GDB: Failed to set controlling terminal: Invalid argument

c++ - 继承和 Qt 信号

c++ - _BitScanForward _BitScanForward64 缺失 (VS2017) Snappy

c++ - OpenCV 和 GoPro - VideoCapture 流中的空帧

c++ - 关于C++中的随机数

sql - QT SQL 和线程