2010-02-02 4 views
0

Qt 애플리케이션에서 뭔가 디버깅해야하지만 스택에 내 코드에 포함되지 않은 명령어가 표시되고 3 개의 스레드 (기본 포함)가 실행 중입니다. 이것을 디버깅하는 가장 좋은 방법은 무엇입니까? 나는 찌그러 뜨릴 필요가 있니? 스택을 붙여 넣으면 도움이 될 수 있습니까?Qt 애플리케이션을 어떻게 디버그 할 수 있습니까?

0 인상 /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 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 클론 /lib/libc.so.6 0
14 ?? 0

중단은 예외가 있었으며 항상 QTime :: currentTime() (tzset을 호출)과 관련이있는 것으로 보입니다. 또한 문제는 항상 QtConcurrent :: run()으로 만들어진 스레드에서 발생합니다. 이것은 메인 쓰레드 나 QThreads에서 결코 일어나지 않습니다.

+1

http://stackoverflow.com/questions/1368551/qt-question-can-you-use-the-standard-gdb-debugger-with-qt-executables –

+2

Qt Creator는 gdb의 프론트 엔드를 제공합니다. 다른 IDE 기능. http://qt.nokia.com/products/developer-tools –

+0

우선, 해결하려는 버그는 무엇입니까? – rpg

답변

3

디버깅을 위해 나는 항상 과도한 인쇄 문을 발견하고 많은 커피와 인내심이 최고로 도움이됩니다.

관련 문제