tags:

views:

66

answers:

1

I have to debug something in my Qt application but the stack shows instructions that are not part of my code and I have 3 threads (including main) running. What is the best way to debug this? DO I need squish? Would you be able to help if I pasted the stacks?

Here is the stack trace of the thread that seems to be in fault:

0 raise /lib/libc.so.6 0
1 abort /lib/libc.so.6 0
2 ?? /lib/libc.so.6 0
3 ?? /lib/libc.so.6 0
4 free /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 FPSengine::xmitData FPSengine2.cpp 93
9 FPSengine::getData FPSengine2.cpp 21
10 threadDatalog::run threaddatalog.cpp 109 11 ?? /usr/lib/libQtCore.so.4 0
12 start_thread /lib/libpthread.so.0 0
13 clone /lib/libc.so.6 0
14 ?? 0

The abort indicates there was an exception and it seems to always have something to do with calling QTime::currentTime() (which calls tzset). Also the problem is always from a thread made with QtConcurrent::run(). This never happens with the main thread or any of the QThreads.

+2  A: 

For debugging, I always find excessive print statements, and a lot of coffee and patience help the best.

Ink-Jet