Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to generate good crash log report for Qt application in windows

I got such crash log in one of Qt application, Any idea how qt application is implemented to get such good crash report ?

//=====================================================
Crash Time:     Fri Aug 20 15:05:51 2010
Tool Version:   1.6 (08/21/09)
Exception code: C0000005 ACCESS_VIOLATION
Fault address:  06706000 00:01FED9E4 

Registers:
EAX:067689A0
EBX:00000000
ECX:067689A0
EDX:026304C0
ESI:00000012
EDI:01FEF018
CS:EIP:001B:06706000
SS:ESP:0023:01FEE4B4  EBP:01FEE4CC
DS:0023  ES:0023  FS:003B  GS:0000
Flags:00010206

Call stack:
Address   Frame
06706000  01FEE4B0  0000:00000000 
39DE15ED  01FEE4CC  QWidget::reparent+2D
39E7F560  01FEE6F4  QMenuBar::calculateRects+2D0
39E7E4B1  01FEE708  QMenuBar::performDelayedContentsChanged+41
39E7E600  01FEE714  QMenuBar::performDelayedChanges+20
39E7FF24  01FEE88C  QMenuBar::drawContents+24
39E4162E  01FEEA88  QFrame::paintEvent+3BE
39DE060E  01FEEB00  QWidget::event+39E
39D56AE8  01FEEB38  QApplication::internalNotify+1E8
39D56785  01FEEC68  QApplication::notify+865
39D0A89B  01FEEC7C  QApplication::sendSpontaneousEvent+3B
39D13DEF  01FEED2C  QApplication::winMouseButtonUp+20DF
39D1095E  01FEEFB0  QApplication::winFocus+FBE
7E418734  01FEEFDC  GetDC+6D
7E418816  01FEF044  GetDC+14F
7E41B4C0  01FEF098  DefWindowProcW+184
7E41B50C  01FEF0C0  DefWindowProcW+1D0
7C90EAE3  01FEF12C  KiUserCallbackDispatcher+13
7E418A10  01FEF13C  DispatchMessageW+F
39D25EED  01FEF194  QEventLoop::processEvents+2AD
39D76814  01FEF1AC  QEventLoop::enterLoop+74
39D766CD  01FEF1B8  QEventLoop::exec+1D
39D56CCC  01FEF1C8  QApplication::exec+1C
0044847A  01FEFED8  0001:0004747A c:\QtTest\too\main.exe
004465C0  01FEFEE8  0001:000455C0 c:\QtTest\too\main.exe
00F17729  01FEFF18  0001:00B16729 c:\QtTest\too\main.exe
00F148E7  01FEFFC0  0001:00B138E7 c:\QtTest\too\main.exe
7C816FD7  01FEFFF0  RegisterWaitForInputIdle+49

Crash Log:
( 54350.189194700) T> Compile_And_Link_User_Code_Body
( 54350.191276250) T> Create_Header_Expanded_Driver called for: testQt
( 54350.197348809) T> computil.adb:Get_Preprocessed_File called SOURCE_FILE=QtTest_TMP.8.20.54350.2.10156.40.c
( 54350.786834903) T> Create_Header_Expanded_Driver called for: testQt
( 54350.792789012) T> computil.adb:Get_Preprocessed_File called SOURCE_FILE=QtTest_TMP.8.20.54350.8.10156.49.c,
( 54351.056315801) G> add_all_testcase_user_code_to_harness failure COMPILER_PKG.COMPILE_ERROR_EXCEPTION
( 54351.056962252) G> HierarchyView::initCoverage() ...
( 54351.068467625) G> starting Parser::build_testobjectlist_from_xml()
like image 906
apache Avatar asked Aug 10 '11 13:08

apache


1 Answers

There is no crash report creation provided as part of Qt.

The application in question probably just registers an exception filter with the operating system, e.g. SetUnhandledExceptionFilter on Windows, and compiles and writes this crash report out itself.

If you didn't fancy rolling your own crash reporter, there are some nice open source libraries you could use for generating verbose crash reports like Google's Breakpad.

http://code.google.com/p/google-breakpad/

like image 168
John Avatar answered Nov 15 '22 09:11

John