|
|
@ -99,6 +99,7 @@ static void print_current_stack() { |
|
|
|
SymFromAddrW(process, (DWORD64)(callers_stack[i]), 0, symbol); |
|
|
|
SymFromAddrW(process, (DWORD64)(callers_stack[i]), 0, symbol); |
|
|
|
fwprintf(stderr, L"*** %d: %016I64X %ls - %016I64X\n", i, |
|
|
|
fwprintf(stderr, L"*** %d: %016I64X %ls - %016I64X\n", i, |
|
|
|
(DWORD64)callers_stack[i], symbol->Name, (DWORD64)symbol->Address); |
|
|
|
(DWORD64)callers_stack[i], symbol->Name, (DWORD64)symbol->Address); |
|
|
|
|
|
|
|
fflush(stderr); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
free(symbol); |
|
|
|
free(symbol); |
|
|
@ -154,6 +155,7 @@ static void print_stack_from_context(CONTEXT c) { |
|
|
|
fwprintf( |
|
|
|
fwprintf( |
|
|
|
stderr, L"*** %016I64X %ls - %016I64X\n", (DWORD64)(s.AddrPC.Offset), |
|
|
|
stderr, L"*** %016I64X %ls - %016I64X\n", (DWORD64)(s.AddrPC.Offset), |
|
|
|
has_symbol ? symbol->Name : L"<<no symbol>>", (DWORD64)symbol->Address); |
|
|
|
has_symbol ? symbol->Name : L"<<no symbol>>", (DWORD64)symbol->Address); |
|
|
|
|
|
|
|
fflush(stderr); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
free(symbol); |
|
|
|
free(symbol); |
|
|
|