Print the correct return address, even on architectures where StackFrame::instruction is offset.

a=bruce.dawson, r=jimblandy


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1105 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
jimblandy 2013-01-22 22:38:41 +00:00
parent d2153d7589
commit be81ededf8
7 changed files with 72 additions and 35 deletions

View file

@ -16,6 +16,6 @@ Module|kernel32.dll|5.1.2600.2945|kernel32.pdb|BCE8785C57B44245A669896B6A19B9542
Module|ntdll.dll|5.1.2600.2180|ntdll.pdb|36515FB5D04345E491F672FA2E2878C02|0x7c900000|0x7c9affff|0
0|0|test_app.exe|`anonymous namespace'::CrashFunction|c:\test_app.cc|58|0x3
0|1|test_app.exe|main|c:\test_app.cc|65|0x4
0|2|test_app.exe|__tmainCRTStartup|f:\sp\vctools\crt_bld\self_x86\crt\src\crt0.c|327|0x11
0|3|kernel32.dll|BaseProcessStart|||0x22
0|1|test_app.exe|main|c:\test_app.cc|65|0x5
0|2|test_app.exe|__tmainCRTStartup|f:\sp\vctools\crt_bld\self_x86\crt\src\crt0.c|327|0x12
0|3|kernel32.dll|BaseProcessStart|||0x23

View file

@ -13,13 +13,13 @@ Thread 0 (crashed)
esi = 0x00000002 edi = 0x00000a28 eax = 0x00000045 ecx = 0x0012fe94
edx = 0x0042bc58 efl = 0x00010246
Found by: given as instruction pointer in context
1 test_app.exe!main [test_app.cc : 65 + 0x4]
1 test_app.exe!main [test_app.cc : 65 + 0x5]
eip = 0x00404200 esp = 0x0012fe90 ebp = 0x0012ff70
Found by: call frame info
2 test_app.exe!__tmainCRTStartup [crt0.c : 327 + 0x11]
2 test_app.exe!__tmainCRTStartup [crt0.c : 327 + 0x12]
eip = 0x004053ec esp = 0x0012ff78 ebp = 0x0012ffc0
Found by: call frame info
3 kernel32.dll!BaseProcessStart + 0x22
3 kernel32.dll!BaseProcessStart + 0x23
eip = 0x7c816fd7 esp = 0x0012ffc8 ebp = 0x0012fff0
Found by: call frame info