[Question] How to read a crashlog?


(Scennative) #1

Hey,

i would rework and add new things on the ui of the Chaos-Mod, but before i can begin, i must clean the ui from useless parts. (Savegames, cinema, etc).

I be done with the most work, but now i have a little problem:
The Ui is crashing, when you change the serverfilter on playonline.menu.
The same result is on start/refresh serverlist.
You can sort the servers by name, maps and ping without problems, only when he refresh the serverlist, then et is crashing.

Now i ported the cg_crash.c to the ui code. It works fine. I become now a wonderfull crashlog:

-8<------- Crash Information ------->8-
   Please forward to www.team-reflex.de   
---------------------------------------
Version: 0.1.9 Win32
Exception: Access violation (0xc0000005)
Exception Address: 0x40015424
DLL Information:
0x00400000	ET
0x7c910000	ntdll
0x7c800000	kernel32
0x6d2f0000	DINPUT8
0x77be0000	msvcrt
0x77da0000	ADVAPI32
0x77e50000	RPCRT4
0x77fc0000	Secur32
0x7e360000	USER32
0x77ef0000	GDI32
0x76af0000	WINMM
0x71a30000	WSOCK32
0x71a10000	WS2_32
0x71a00000	WS2HELP
0x76d20000	iphlpapi
0x7e670000	SHELL32
0x77f40000	SHLWAPI
0x774b0000	ole32
0x76330000	IMM32
0x773a0000	comctl32
0x5d450000	comctl32
0x5b0f0000	uxtheme
0x746a0000	MSCTF
0x10000000	UnlockerHook
0x10d00000	GameHook
0x10100000	lgscroll
0x78130000	MSVCR80
0x77660000	NTMARTA
0x71b70000	SAMLIB
0x76f20000	WLDAP32
0x75250000	msctfime
0x5f0d0000	opengl32
0x68fc0000	GLU32
0x736d0000	DDRAW
0x73b30000	DCIMAN32
0x69500000	nvoglnt
0x76f90000	CLBCATQ
0x77010000	COMRes
0x770f0000	OLEAUT32
0x77bd0000	VERSION
0x73e70000	dsound
0x72c90000	wdmaud
0x76bf0000	WINTRUST
0x77a50000	CRYPT32
0x77af0000	MSASN1
0x76c50000	IMAGEHLP
0x72c80000	msacm32
0x77bb0000	MSACM32
0x77ba0000	midimap
0x73e40000	KsUser
0x40000000	ui_mp_x86
0x719b0000	mswsock
0x66710000	hnetcfg
0x719f0000	wshtcpip
0x76ee0000	DNSAPI
0x76f70000	winrnr
0x76f80000	rasadhlp
0x076f0000	pbcl
0x76bb0000	psapi
0x075b0000	pbag
0x0b3f0000	pbsv
0x59dd0000	DBGHELP
(0) C:\Programme\Wolfenstein - Enemy Territory\chaos\ui_mp_x86.dll(vmMain+0x73d4) [0x40015424]

And i think, the only intresting line is these:

(0) C:\Programme\Wolfenstein - Enemy Territory\chaos\ui_mp_x86.dll(vmMain+0x73d4) [0x40015424]

But how can i read these? Is there some tutorials or somethings? Its very usefull, to know the place, where the mistake is.

I hope you can help me. :o

Greetz
sCenna.


(crapshoot) #2

if you have the source, just compile using the Debug solution configuration, start the mod, attach the VS debugger (Tools->Attach to process->Et.exe). When it crashes, select break in the VS popup.


(Shanks) #3

Also, Visual Studio will usually prompt you to debug a crash which will open a new instance with debugging information. On a debug build it will show every line of code in the debug trace that was involved in the crash.

But to read the dump file, you should be looking at the very end to find the problem. It crashed near the pb calls so maybe you can disable pb and try again.


(Scennative) #4

@bacon: I use Visual Studio 2008. and i have some reasons why i not use Visual Studio 2010. Yes, you must disable punkbuster, then when pb is on, you cant debug :stuck_out_tongue:

@crapshoot: yes, these helped me a lot :slight_smile: thx :stuck_out_tongue:

When you make a debug release, you become ***.pdb files. with these in the mod directory you will become a nicer crashlog:

(0) C:\Programme\Wolfenstein - Enemy Territory\chaos\ui_mp_x86.dll(Menu_SetFeederSelectionExt+0xcd) [0x4002fe4d]
(1) C:\Programme\Wolfenstein - Enemy Territory\chaos\ui_mp_x86.dll(Menu_SetFeederSelection+0x35) [0x4002fd65]
(2) C:\Programme\Wolfenstein - Enemy Territory\chaos\ui_mp_x86.dll(UI_BuildServerDisplayList+0xff) [0x4001a1df]
(3) C:\Programme\Wolfenstein - Enemy Territory\chaos\ui_mp_x86.dll(UI_RunMenuScript+0x533) [0x40016763]
(4) C:\Programme\Wolfenstein - Enemy Territory\chaos\ui_mp_x86.dll(Item_RunScript+0x1b1) [0x40025281]
(5) C:\Programme\Wolfenstein - Enemy Territory\chaos\ui_mp_x86.dll(Item_Action+0x39) [0x400292e9]
(6) C:\Programme\Wolfenstein - Enemy Territory\chaos\ui_mp_x86.dll(Menu_HandleKey+0x2c9) [0x40029ca9]
(7) C:\Programme\Wolfenstein - Enemy Territory\chaos\ui_mp_x86.dll(_UI_KeyEvent+0x6e) [0x4001e16e]
(8) C:\Programme\Wolfenstein - Enemy Territory\chaos\ui_mp_x86.dll(vmMain+0x7a) [0x4001244a]
(9) C:\Programme\Wolfenstein - Enemy Territory\ET.exe [0x00448ae2]

thx a lot guys :stuck_out_tongue:

Greetz sCenna.


(jaybird) #5

Some notes…

Visual Studio versions since at least 2005 (because I haven’t used anything older than that) have had the JIT debugger, where it will catch a crash and offer to open the binary, with stacktrace, in a new instance of the compiler/debugger. If the build was a debug build it will jump to the line it crashed on along with the current stack frame. That makes it awful easy to debug crashes :slight_smile: This includes 2008.

Also, I have never had issues debugging with PB enabled. It shouldn’t make any difference.


(crapshoot) #6

iirc, JIT isn’t available for express editions; which i assume (maybe incorrectly) is being used here. either way, as helpful as it is in some cases it can get pretty annoying so i always disable it.

pb enabled servers will crash instantly when a debugger is attached, but may not when using the JIT method i suppose.


(Scennative) #7

Yes, sorry, i use the express editions :stuck_out_tongue:


(jaybird) #8

Makes sense then. Shame it isn’t included.