the most interesting thing in the .rpt file is that you find the callstack up to the crash
so walk the callstack down until you find an entry which references to a function which
is coded in the sourcecode of codeBlocks - voila, you know the function which has triggered
the GPF
- the rest you've to manage with a debugger of your trust :shock:
UPDATE
codeblocks.RPT
Error occured on Friday, August 5, 2005 at 01:16:01.
D:\cpp\_projects\Codeblocks\_VERSION_1_0\src\devel\codeblocks.exe caused an Access Violation at location 1010d520 in module C:\UTILS\wxmsw242.dll Reading from location 00000028.
Registers:
eax=00000000 ebx=00252354 ecx=6064cb3d edx=00000000 esi=00001799 edi=0022e31c
eip=1010d520 esp=0022f7d8 ebp=0022f7e8 iopl=0 nv up ei pl nz ac po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010216
Call stack:
1010D520 C:\UTILS\wxmsw242.dll:1010D520 _ZN12wxWindowBase10FindWindowEl
605055BC D:\cpp\_projects\Codeblocks\_VERSION_1_0\src\devel\codeblocks.dll:605055BC EditorManager::EditorManager(wxWindow*) D:/cpp/_projects/Codeblocks/_VERSION_1_0/src/sdk/editormanager.cpp:127
60504873 D:\cpp\_projects\Codeblocks\_VERSION_1_0\src\devel\codeblocks.dll:60504873 EditorManager::Get(wxWindow*) D:/cpp/_projects/Codeblocks/_VERSION_1_0/src/sdk/editormanager.cpp:93
605214D5 D:\cpp\_projects\Codeblocks\_VERSION_1_0\src\devel\codeblocks.dll:605214D5 Manager::GetEditorManager() D:/cpp/_projects/Codeblocks/_VERSION_1_0/src/sdk/manager.cpp:228
0041131D D:\cpp\_projects\Codeblocks\_VERSION_1_0\src\devel\codeblocks.exe:0041131D MainFrame::CreateIDE() D:/cpp/_projects/Codeblocks/_VERSION_1_0/src/src/main.cpp:455
0040F70A D:\cpp\_projects\Codeblocks\_VERSION_1_0\src\devel\codeblocks.exe:0040F70A MainFrame::MainFrame(wxWindow*) D:/cpp/_projects/Codeblocks/_VERSION_1_0/src/src/main.cpp:369
00402586 D:\cpp\_projects\Codeblocks\_VERSION_1_0\src\devel\codeblocks.exe:00402586 CodeBlocksApp::InitFrame() D:/cpp/_projects/Codeblocks/_VERSION_1_0/src/src/app.cpp:176
00402E8C D:\cpp\_projects\Codeblocks\_VERSION_1_0\src\devel\codeblocks.exe:00402E8C CodeBlocksApp::OnInit() D:/cpp/_projects/Codeblocks/_VERSION_1_0/src/src/app.cpp:250
10015272 C:\UTILS\wxmsw242.dll:10015272 _Z7wxEntryPvS_Pcib
00401392 D:\cpp\_projects\Codeblocks\_VERSION_1_0\src\devel\codeblocks.exe:00401392 WinMain D:/cpp/_projects/Codeblocks/_VERSION_1_0/src/src/app.cpp:40
...skip the rest...
1.) Reading from location 00000028.
some pointer contained this value and it is a protected address
2.) callstack
WinMain called ..some others... until
Manager::GetEditorManager() called
EditorManager::Get(wxWindow*) which called
EditorManager::EditorManager(wxWindow*) and then it crashed in
WindowBase10FindWindownow look in the source code, the line numbers are given in the call-stack too:
editormanager.cpp
125: // *** Load Panel and close button from XRC ***
126: m_pPanel = wxXmlResource::Get()->LoadPanel(parent,_T("ID_EditorManagerPanel"));
127: wxBitmapButton* myclosebutton = XRCCTRL(*m_pPanel,_T("ID_EditorManagerCloseButton"),wxBitmapButton);
so it's most likely that the parameter
m_pPanel was invalid at the time of crash,
it was retrieved in line 126 but not checked for validity and used in line 127.
3.) forget the Registers, until you are not programming in assembler and set the registers "by hand"
or you win chess games against Deep-Blue
and compile a 1000+ lines sourcecode with your brain not using a compiler,
like the heroes in the 1970ies did, when they developed the first microcontrollers...