From 84f87db44dd221aaeb893963740fab5563a757c0 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Wed, 29 Mar 2006 04:48:39 +0000 Subject: [PATCH] Do include offset information for internal symbols (not just DLLs). They're helpful for narrowing down exactly where we are in a function. --- stepmania/src/archutils/Win32/CrashHandlerChild.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/stepmania/src/archutils/Win32/CrashHandlerChild.cpp b/stepmania/src/archutils/Win32/CrashHandlerChild.cpp index 29cd647685..be215a439d 100644 --- a/stepmania/src/archutils/Win32/CrashHandlerChild.cpp +++ b/stepmania/src/archutils/Win32/CrashHandlerChild.cpp @@ -344,9 +344,13 @@ namespace SymbolLookup VirtualQueryEx( g_hParent, ptr, &meminfo, sizeof meminfo ); char tmp[512]; - if( VDDebugInfo::VDDebugInfoLookupRVA(pctx, (unsigned int)ptr, tmp, sizeof(tmp)) >= 0 ) + long iAddress = VDDebugInfo::VDDebugInfoLookupRVA(pctx, (unsigned int)ptr, tmp, sizeof(tmp)); + if( iAddress >= 0 ) { - wsprintf( buf, "%08x: %s", ptr, Demangle(tmp) ); + wsprintf( buf, "%08x: %s [%08lx+%lx+%lx]", ptr, Demangle(tmp), + pctx->nFirstRVA, + ((unsigned int) ptr) - pctx->nFirstRVA - iAddress, + iAddress ); return; }