You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows11下Qt调试启动触发汇编代码中断问题求助

主应用测试

我接手开发的Qt应用在Windows 11机器上正常运行近两年,近期启动调试模式时,调用.show()成员函数会触发异常,中断到汇编代码,弹出如下提示:

The inferior stopped because it triggered an exception.
Stopped in thread 0 by: Exception at 0x772a1fdf, code: 0xc0000005: read access violation at: 0xbaadf00c, flags=0x0 (first chance).

反汇编器停在此处:
[反汇编代码截图]

触发异常后继续运行可启动程序,但偶尔会再次中断到汇编代码并崩溃。

我使用MSVC编译,尝试过多个编译器版本、Qt 5.2.0/5.14.1/5.15.2版本,以及不同Windows SDK组合,在Windows11上均出现相同错误;VS Build tools 2015/2017/2019也无改善。

在另一台Windows10机器上,使用Qt5.14.1、MSVC编译器15.9.28307.2094、Windows10 SDK10.0.17763.132则运行正常。

Win11机器上的Qt安装配置:
[Qt安装配置截图]

我的Qt Creator“关于”窗口:
[Qt Creator关于窗口截图]

Qt默认应用测试

这让我十分困惑。我在Qt论坛求助时发现,测试Qt默认示例应用也会出现相同错误。我使用Qt Creator作为构建和调试工具,这并非代码问题——新建默认Qt项目,基础代码如下,仍出现相同错误:

#include "mainwindow.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}
Qt示例中的应用程序测试

与我的程序相同,调用.show()函数(此处为mainWin.Show())时出现“崩溃”,单步执行会进入反汇编:
[示例应用反汇编截图]

堆栈跟踪如下:
[堆栈跟踪截图]

Release模式运行

  • 带调试启动:同样崩溃
  • 不带调试启动:无崩溃

Debug模式运行

  • 情况与上述一致

因此我认为问题出在调试运行上。

以下是我所说“带调试启动”对应的按钮:
[调试启动按钮截图]

已尝试的解决方法
  • 完全重新安装Qt
  • 完全重新安装所有Visual Studio开发工具和编译器
  • 在CDB设置中勾选“Ignore first change access violations”——可消除调试启动时的异常捕获,但运行时触发断点仍会中断到汇编代码:
ntdll!DbgBreakPoint:
0x772c8c00                   int     3
0x772c8c01  <+    1>         ret
0x772c8c02  <+    2>         int     3

内容的提问来源于stack exchange,提问作者jabroni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 17:21:06