如何调试Qt应用程序?

如何调试Qt应用程序?,qt,gdb,Qt,Gdb,我必须在我的Qt应用程序中调试一些东西,但是堆栈显示的指令不是我代码的一部分,我有3个线程(包括main)在运行。调试这个的最佳方法是什么?我需要挤牛奶吗?如果我把书堆贴上,你能帮忙吗 以下是似乎有故障的线程的堆栈跟踪: 0 raise/lib/libc.so.6 0 1中止/lib/libc.so.6 0 2 ?? /lib/libc.so.6 0 3 ?? /lib/libc.so.6 0 4免费/lib/libc.so.6 0 5 ?? /lib/libc.so.6 0

我必须在我的Qt应用程序中调试一些东西,但是堆栈显示的指令不是我代码的一部分,我有3个线程(包括main)在运行。调试这个的最佳方法是什么?我需要挤牛奶吗?如果我把书堆贴上,你能帮忙吗

以下是似乎有故障的线程的堆栈跟踪:

0 raise/lib/libc.so.6 0
1中止/lib/libc.so.6 0
2 ?? /lib/libc.so.6 0
3 ?? /lib/libc.so.6 0
4免费/lib/libc.so.6 0
5 ?? /lib/libc.so.6 0
6 tzset/lib/libc.so.6 0
7 QTime::currentTime()/usr/lib/libQtCore.so.4 0
8 FPSENGE::xmitData FPSENGE2.cpp 93
9 FPSENGE::getData FPSENGE2.cpp 21
10 threadDatalog::运行threadDatalog.cpp 109 11 ?? /usr/lib/libQtCore.so.4 0
12启动线程/lib/libpthread.so.0 0
13克隆/lib/libc.so.6 0
14 ?? 0


中止表示存在异常,并且似乎总是与调用QTime::currentTime()(调用tzset)有关。此外,问题总是来自于使用QtConcurrent::run()生成的线程。主线程或任何QThread都不会发生这种情况

对于调试,我总是发现过多的打印语句,大量的咖啡和耐心最有帮助。

对于调试,我总是发现过多的打印语句,大量的咖啡和耐心最有帮助。

除了其他IDE功能外,Qt Creator还提供了gdb的前端。首先,您要解决的bug是什么?除了其他IDE功能外,QtCreator还提供了gdb的前端。首先,您要解决的bug是什么?