www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Program address <-> Function name

reply Jeremy <Jeremy_member pathlink.com> writes:
OK, my game locks up at some random point (eep!) Using "windbg" and halting it
when it locks up, I can view the disassembly and call stack at which point it
locked up. How do I use these address hex values to determine which function it
is locking up in? The disassembly doesn't seem to show me the symbol names, and
I can't objdump it because the executable isn't compatible with MinGW, and
Walter's dumpobj doesn't seem to work on Win32 (I couldn't get it to work..
looks just like a linux tool). Thank you for your help!

- jeremy
Jun 21 2006
parent reply Yossarian <phoenix flareware.cz> writes:
Jeremy napsal(a):
 OK, my game locks up at some random point (eep!) Using "windbg" and halting it
 when it locks up, I can view the disassembly and call stack at which point it
 locked up. How do I use these address hex values to determine which function it
 is locking up in? The disassembly doesn't seem to show me the symbol names, and
 I can't objdump it because the executable isn't compatible with MinGW, and
 Walter's dumpobj doesn't seem to work on Win32 (I couldn't get it to work..
 looks just like a linux tool). Thank you for your help!
 
 - jeremy
 
 

i dont use windbg, but i think that it would at least write mangled names.
Jun 21 2006
parent reply Jeremy <Jeremy_member pathlink.com> writes:
In article <e7c4iu$hp6$1 digitaldaemon.com>, Yossarian says...
Jeremy napsal(a):
 OK, my game locks up at some random point (eep!) Using "windbg" and halting it
 when it locks up, I can view the disassembly and call stack at which point it
 locked up. How do I use these address hex values to determine which function it
 is locking up in? The disassembly doesn't seem to show me the symbol names, and
 I can't objdump it because the executable isn't compatible with MinGW, and
 Walter's dumpobj doesn't seem to work on Win32 (I couldn't get it to work..
 looks just like a linux tool). Thank you for your help!
 
 - jeremy
 
 

i dont use windbg, but i think that it would at least write mangled names.

Yeah, I do compile with the -g option, but I can't figure out how to get those mangled names from windbg :( Do you use GDC / objdump / GDB etc.?
Jun 21 2006
parent reply Yossarian <phoenix flareware.cz> writes:
Jeremy napsal(a):
 In article <e7c4iu$hp6$1 digitaldaemon.com>, Yossarian says...
 
Jeremy napsal(a):

OK, my game locks up at some random point (eep!) Using "windbg" and halting it
when it locks up, I can view the disassembly and call stack at which point it
locked up. How do I use these address hex values to determine which function it
is locking up in? The disassembly doesn't seem to show me the symbol names, and
I can't objdump it because the executable isn't compatible with MinGW, and
Walter's dumpobj doesn't seem to work on Win32 (I couldn't get it to work..
looks just like a linux tool). Thank you for your help!

- jeremy

hm, why dont you try compile also debug-information? (-g switch). i dont use windbg, but i think that it would at least write mangled names.

Yeah, I do compile with the -g option, but I can't figure out how to get those mangled names from windbg :( Do you use GDC / objdump / GDB etc.?

using of gdb is pretty hard for me, as i used to debug with msvc, but at least it could do correct backtrace.
Jun 21 2006
parent Jeremy <Jeremy_member pathlink.com> writes:
In article <e7cch1$sqv$1 digitaldaemon.com>, Yossarian says...
Jeremy napsal(a):
 In article <e7c4iu$hp6$1 digitaldaemon.com>, Yossarian says...
 
Jeremy napsal(a):

OK, my game locks up at some random point (eep!) Using "windbg" and halting it
when it locks up, I can view the disassembly and call stack at which point it
locked up. How do I use these address hex values to determine which function it
is locking up in? The disassembly doesn't seem to show me the symbol names, and
I can't objdump it because the executable isn't compatible with MinGW, and
Walter's dumpobj doesn't seem to work on Win32 (I couldn't get it to work..
looks just like a linux tool). Thank you for your help!

- jeremy

hm, why dont you try compile also debug-information? (-g switch). i dont use windbg, but i think that it would at least write mangled names.

Yeah, I do compile with the -g option, but I can't figure out how to get those mangled names from windbg :( Do you use GDC / objdump / GDB etc.?

using of gdb is pretty hard for me, as i used to debug with msvc, but at least it could do correct backtrace.

Yeah, debugging doesn't seem so hot with D currently. I just figured out my problem using "windbg" and the .map file generated by the DMD compiler (which has the function names and their respective addresses in the binary) -- very ugly and painful however! :)
Jun 21 2006