On 05/05/2010 11:43 AM, The Wanderer wrote:
On 05/04/2010 02:40 PM, Jamey Sharp wrote:
Of course if this application is forking, it can be quite tricky to
get gdb attached to the process that actually dies. It may be
easier to run `ulimit -c unlimited` to enable core dumps, then let
the application die, then use `gdb -c` to inspect the coredump.
I've been doing some more fiddling with this, and I managed to get a
viable stack trace using winedbg; see attached.
Really attached this time. I cut the lines from my failed attempts at
getting other info out of the log, since they weren't helpful and had a
bunch of garbage characters from backspacing and the like.
0019:001a: create process 'C:\Program Files\World of Warcraft\Wow.exe'/0x110738
@0x401000 (0<0>)
0019:001a: create thread I @0x401000
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
0019:001a: loads DLL C:\windows\system32\KERNEL32.dll @0x7ede0000 (0<0>)
0019:001a: loads DLL C:\windows\system32\ntdll.dll @0x7ef60000 (0<0>)
0019:001a: loads DLL C:\Program Files\World of Warcraft\DivxDecoder.dll
@0x10000000 (0<0>)
0019:001a: loads DLL C:\windows\system32\rpcrt4.dll @0x7e960000 (0<0>)
0019:001a: loads DLL C:\windows\system32\advapi32.dll @0x7e9d0000 (0<0>)
0019:001a: loads DLL C:\windows\system32\gdi32.dll @0x7ea30000 (0<0>)
0019:001a: loads DLL C:\windows\system32\user32.dll @0x7eac0000 (0<0>)
0019:001a: loads DLL C:\windows\system32\winmm.dll @0x7ebe0000 (0<0>)
0019:001a: loads DLL C:\windows\system32\opengl32.dll @0x7e8d0000 (0<0>)
0019:001a: loads DLL C:\windows\system32\imm32.dll @0x7e650000 (0<0>)
0019:001a: loads DLL C:\windows\system32\mpr.dll @0x7e5c0000 (0<0>)
0019:001a: loads DLL C:\windows\system32\shlwapi.dll @0x7e570000 (0<0>)
0019:001a: loads DLL C:\windows\system32\comctl32.dll @0x7e2d0000 (0<0>)
0019:001a: loads DLL C:\windows\system32\shell32.dll @0x7e3a0000 (0<0>)
0019:001a: loads DLL C:\windows\system32\wininet.dll @0x7e600000 (0<0>)
0019:001a: loads DLL C:\windows\system32\msacm32.dll @0x7e2a0000 (0<0>)
0019:001a: loads DLL C:\windows\system32\ws2_32.dll @0x7e280000 (0<0>)
0019:001a: loads DLL C:\windows\system32\ole32.dll @0x7e140000 (0<0>)
0019:001a: loads DLL C:\windows\system32\dinput.dll @0x7e230000 (0<0>)
0019:001a: loads DLL C:\windows\system32\dinput8.dll @0x7e260000 (0<0>)
0019:001a: loads DLL C:\windows\system32\winspool.drv @0x7e0a0000 (0<0>)
0019:001a: loads DLL C:\windows\system32\lz32.dll @0x7e090000 (0<0>)
0019:001a: loads DLL C:\windows\system32\version.dll @0x7ef40000 (0<0>)
0019:001a: loads DLL C:\windows\system32\setupapi.dll @0x7e0d0000 (0<0>)
0019:001a: loads DLL C:\windows\system32\hid.dll @0x7e070000 (0<0>)
0019:001a: loads DLL C:\windows\system32\winex11.drv @0x7ded0000 (0<0>)
fixme:dbghelp_dwarf:compute_location Only supporting one breg (18 -> 24)
trace:wgl:wglGetProcAddress func: 'wglGetIntegerv'
../../src/xcb_io.c:445: _XReply: Assertion `!dpy->xcb->reply_data' failed.
00000019:0000001a: exception code=0x80000101
Unhandled exception code 0x80000101
Unknown or malformed query Attached
0xf775f430 in ?? ()
trace: 98 => 80
Wine-gdb> bt full
#0 0xf775f430 in ?? ()
No symbol table info available.
#1 0xf74bbb72 in *__GI_abort () at abort.c:88
act = {__sigaction_handler = {sa_handler = 0x3a74d0, sa_sigaction =
0x3a74d0}, sa_mask = {__val = {4149211453, 104, 80, 3831232, 3831020, 104, 80,
76, 2087318208, 4150058996, 76, 75, 3831192,
4149142594, 2087318216, 76, 3831232, 2087318216, 0, 4222451712,
2087318216, 2087318216, 2087318216, 2087318216, 2087318291, 2087318316,
2087318216, 2087318316, 0, 0, 0, 0}}, sa_flags = 0,
sa_restorer = 0xb}
sigs = {__val = {32, 0 <repeats 31 times>}}
#2 0xf74b168e in *__GI___assert_fail (assertion=0x7e8151d9
"!dpy->xcb->reply_data", file=0x7e815189 "../../src/xcb_io.c", line=445,
function=0x7e8152f8 "_XReply") at assert.c:78
buf = 0x7c69f2c8 "(\363i|\360\363\\\367c/xcb_io.c:445: _XReply:
Assertion `!dpy->xcb->reply_data' faileP"
#3 0x7e7a7f44 in _XReply () from /usr/lib32/libX11.so.6
No symbol table info available.
#4 0x7d75472f in LnxXextEscape () from /usr/lib32/libatiadlxx.so
No symbol table info available.
#5 0x7d733935 in Send () from /usr/lib32/libatiadlxx.so
No symbol table info available.
#6 0x7d747a81 in Pack_DI_AdapterCaps_Get () from /usr/lib32/libatiadlxx.so
No symbol table info available.
#7 0x7d73c458 in ADL_Workstation_AdapterNumOfGLSyncConnectors_Get () from
/usr/lib32/libatiadlxx.so
No symbol table info available.
#8 0x7b873603 in ?? () from /usr/lib32/dri/fglrx_dri.so
No symbol table info available.
Wine-gdb> info all-registers
eax 0x0 0
ecx 0x62be 25278
edx 0x6 6
ebx 0x62be 25278
esp 0x3a7490 0x3a7490
ebp 0x3a75b0 0x3a75b0
esi 0xf75ac873 -145045389
edi 0xf75cdff4 -144908300
eip 0xf74bbb72 0xf74bbb72 <*__GI_abort+386>
eflags 0x296 [ PF AF SF IF ]
cs 0x23 35
ss 0x2b 43
ds 0x2b 43
es 0x2b 43
fs 0x63 99
gs 0x6b 107
st0 0 (raw 0x00000000000000000000)
st1 0 (raw 0x00000000000000000000)
st2 0 (raw 0x00000000000000000000)
st3 0 (raw 0x00000000000000000000)
st4 0 (raw 0x00000000000000000000)
st5 0 (raw 0x00000000000000000000)
st6 0 (raw 0x00000000000000000000)
st7 0 (raw 0x00000000000000000000)
fctrl 0x0 0
fstat 0x0 0
ftag 0x0 0
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
fooff 0x0 0
fop 0x0 0
xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},
v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},
v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},
v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},
v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},
v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},
v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},
v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},
v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
mxcsr 0x0 [ ]
mm0 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0,
0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm1 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0,
0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm2 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0,
0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm3 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0,
0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm4 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0,
0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm5 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0,
0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm6 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0,
0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm7 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0,
0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
Wine-gdb> kill
Kill the program being debugged? (y or n) Wine-gdb> quit