C++ 在Windows上调试Qt应用程序

C++ 在Windows上调试Qt应用程序,c++,qt,debugging,gdb,C++,Qt,Debugging,Gdb,我的Qt-QML/C++应用程序崩溃,我找不到原因。我试图输出大量信息,但某些信号/插槽连接可能会导致崩溃。我花了很多时间试图找出原因,但我失败了 唯一的好处是我可以随时复制崩溃 不幸的是,我不知道如何使用附带的GDB调试器。这是我得到的输出: 我如何从中发现发生了什么以及发生在哪里?我至少需要找到应用程序崩溃的函数 或者我还能尝试什么?不幸的是,我无法禁用信号/插槽连接或相关功能,因为这样我就无法到达崩溃点。工具->选项->构建和运行 如果你有这样的Qt版本工具包,你需要检查调试器 您需要安

我的Qt-QML/C++应用程序崩溃,我找不到原因。我试图输出大量信息,但某些信号/插槽连接可能会导致崩溃。我花了很多时间试图找出原因,但我失败了

唯一的好处是我可以随时复制崩溃

不幸的是,我不知道如何使用附带的GDB调试器。这是我得到的输出:

我如何从中发现发生了什么以及发生在哪里?我至少需要找到应用程序崩溃的函数


或者我还能尝试什么?不幸的是,我无法禁用信号/插槽连接或相关功能,因为这样我就无法到达崩溃点。

工具->选项->构建和运行

如果你有这样的Qt版本工具包,你需要检查调试器


您需要安装MinGW,安装后将有调试器。安装后,按F5开始调试。

Qt提供了有关如何安装调试器的详细文档,可在此处找到:

MingW确实有一个GDB,可以用来更好地调试应用程序。您也可以使用CDB进行调试,这取决于您的偏好


安装后,您可以使用QtCreator中的Debugger视图设置断点并检查变量信息,以查看程序在哪里崩溃。

这是一个非常重要的问题!也许和可以帮助您:您是否在调试模式下编译了Muzika和Qt?这将允许您检查源代码而不是反汇编代码,这使得调试更加容易。另一个建议是创建一个。您的问题似乎与播放某些媒体有关。Muzika是我的应用程序,我是在调试模式下编译的。但崩溃似乎在我下载的QtCore.dll中。是否真的没有机会找出是哪个电话导致了图书馆崩溃?我不想编译整个Qt。无论如何,问题与某个媒体文件无关,但如果带有提示表的文件到达某个部分的末尾,然后应该停止,则会发生此问题。如果我手动停止播放,它会工作,但如果我以编程方式停止播放,则当前位置位于零件末端,它会崩溃。我不知道为什么。我已经设置了GDB并修复了导致GDB崩溃的Python,现在它可以工作了。但如果发生异常,我只能看到它发生在qlist.h中。但我仍然不知道问题发生在我的代码中的什么地方。是否可以追溯到导致异常的代码调用?