This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Novice's stack dump interpretation issues


MAIN QUESTION:

I can't seem to find any reference to my functions in the stack dump.

The range of function addresses in the stack dump is 0x61002F32-0x7C802542
and yet my functions should be somewhere in the 0x00401000-0x004040A5 range
(according to objdump and nm).

Is this due to the "Error while dumping state"?
How can the error be resolved?


MINOR QUESTIONS (feel free to ignore):


This is my first time looking at a stack dump (only some limited
micro-controller assembly experience from many years ago).
Am I correct that the "Function" column represents the logical/virtual return
address of the next instruction of the function in memory?
Am I correct that the "Frame" column represents the logical/virtual address of
the function call in the stack?



OFF TOPIC QUESTIONS (feel free to ignore):


How useful could a stack dump be for diagnostic purposes with functions of
dynamically loaded shared libraries (via. dlsym)?  Couldn't the function
address be potentially different every time the program was executed?


REFERENCES:


$ objdump -S Main.exe

Main.exe: file format pei-i386


Disassembly of section .text:


00401000 <_WinMainCRTStartup>:
401000: 55 push %ebp
[... 6907 lines ......................................]
004040a0 <__DTOR_LIST__>:
4040a0: ff (bad) 4040a1: ff (bad) 4040a2: ff (bad) 4040a3: ff 00 incl (%eax)
4040a5: 00 00 add %al,(%eax)
...


$ nm -v Main.exe
[... 33 lines ...]
00200000 A __size_of_stack_reserve__
00400000 A ___ImageBase
00400000 A __image_base__
00401000 t .text
00401000 T _WinMainCRTStartup
[... 98 lines .....................]
00404098 t .text
00404098 T __CTOR_LIST__
00404098 T ___CTOR_LIST__
004040a0 T __DTOR_LIST__
004040a0 T ___DTOR_LIST__
[... 182 lines of irrelevant symbols .]

$ cat Main.exe.stackdump
Stack trace:
Frame Function Args
0022C8C8 7C802542 (000007CC, 0000EA60, 000000A4, 0022C910)
0022C9E8 61097F54 (00000000, 7C802600, 7C802542, 000000A4)
0022CAD8 61095AEB (00000000, 003B0023, 00230000, 0022CE68)
0022CB38 61095FCB (0022CB50, 00000000, 00000094, 61020C1B)
0022CBF8 61096182 (00000C54, 00000006, 0022CC28, 61096383)
0022CC08 610961AC (00000006, 0022CE88, 000028D1, 6109A7DF)
0022CC28 61096383 (6110D008, 00405007, 00405000, 00000008)
0022CC58 61001087 (00405000, 00000008, 00405007, 00401065)
0022CCE8 610935A8 (00000001, 6116B6F0, 00660090, 0022CC70)
0022CD98 610060D8 (00000000, 0022CDD0, 61005450, 0022CDD0)
61005450 61004416 (0000009C, A02404C7, E8611021, FFFFFF48)
Exception: STATUS_ACCESS_VIOLATION at eip=61016583
eax=EC815356 ebx=61108148 ecx=00000000 edx=57E58959 esi=0000000B edi=00000001
ebp=0065C8B8 esp=0065C8B0 program=c:\[...]\Main.exe, pid 3156, thread sig
cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023
Stack trace:
Frame Function Args
0065C8B8 61016583 (61108148, 6111C19B, FFFFFF48, 00000000)
0065C8D8 610166EC (00000001, 00000000, 00000000, 0065C960)
0065C918 61017FD5 (000007BC, 0065C960, 00000000, 00000000)
0065CC58 61018638 (00000744, 0065CC90, 000000A4, 0065CC8C)
0065CD58 61099F57 (61106F00, 00000000, 00000000, 00000000)
0065CD88 61002F32 (0065CE64, 61018970, 00001074, 00000000)
61003650 61003769 (04A16430, 89000000, FFDA90B0, 24468BFF)
5 [sig] Main 3156 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack)



-- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]