[DRWTSN32] Include displacement in stacktrace.

This commit is contained in:
Mark Jansen 2018-11-11 15:39:37 +01:00
parent 027df341f3
commit 86ced3f237
No known key found for this signature in database
GPG key ID: B39240EE84BEAE8B

View file

@ -98,16 +98,16 @@ void PrintStackBacktrace(FILE* output, DumpData& data, ThreadData& thread)
memset(sym, '\0', sizeof(*sym) + STACKWALK_MAX_NAMELEN);
sym->SizeOfStruct = sizeof(*sym);
sym->MaxNameLen = STACKWALK_MAX_NAMELEN;
DWORD64 displacement;
DWORD64 displacement = 0;
if (!StackFrame.AddrPC.Offset || !SymFromAddr(data.ProcessHandle, StackFrame.AddrPC.Offset, &displacement, sym))
strcpy(sym->Name, "<nosymbols>");
xfprintf(output, "%p %p %p %p %p %p %s!%s" NEWLINE,
xfprintf(output, "%p %p %p %p %p %p %s!%s +0x%I64x" NEWLINE,
(ULONG_PTR)StackFrame.AddrFrame.Offset, (ULONG_PTR)StackFrame.AddrPC.Offset,
(ULONG_PTR)StackFrame.Params[0], (ULONG_PTR)StackFrame.Params[1],
(ULONG_PTR)StackFrame.Params[2], (ULONG_PTR)StackFrame.Params[3],
Module.ModuleName, sym->Name);
Module.ModuleName, sym->Name, displacement);
}
UCHAR stackData[0x10 * 10];