From 27bb5bcef622a3a16ddb86b601f3c55867b024a7 Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Wed, 7 Aug 2024 06:51:35 +0200 Subject: [PATCH] sdlprocdump: fix stacktrace --- test/win32/sdlprocdump.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/win32/sdlprocdump.c b/test/win32/sdlprocdump.c index 675d6175f..ce05b7baf 100644 --- a/test/win32/sdlprocdump.c +++ b/test/win32/sdlprocdump.c @@ -241,7 +241,7 @@ static void write_minidump(const char *child_file_path, const LPPROCESS_INFORMAT _splitpath_s(child_file_path, NULL, 0, NULL, 0, child_file_name, sizeof(child_file_name), NULL, 0); GetLocalTime(&system_time); - snprintf(dump_file_path, sizeof(dump_file_path), "minidumps/%s_%04d-%02d-%02d_%d-%02d-%02d.dmp", + snprintf(dump_file_path, sizeof(dump_file_path), "minidumps/%s_%04d-%02d-%02d_%02d-%02d-%02d.dmp", child_file_name, system_time.wYear, system_time.wMonth, system_time.wDay, system_time.wHour, system_time.wMinute, system_time.wSecond); @@ -282,7 +282,7 @@ post_dump: } } -static void print_stacktrace(const LPPROCESS_INFORMATION process_information, PCONTEXT context, LPVOID address) { +static void print_stacktrace(const LPPROCESS_INFORMATION process_information, LPVOID address, PCONTEXT context) { STACKFRAME64 stack_frame; DWORD machine_type; @@ -350,12 +350,11 @@ static void print_stacktrace(const LPPROCESS_INFORMATION process_information, PC process_information->hProcess, /* HANDLE hProcess */ process_information->hThread, /* HANDLE hThread */ &stack_frame, /* LPSTACKFRAME64 StackFrame */ - &context, /* PVOID ContextRecord */ + context, /* PVOID ContextRecord */ NULL, /* PREAD_PROCESS_MEMORY_ROUTINE64 ReadMemoryRoutine */ dyn_dbghelp.pSymFunctionTableAccess64, /* PFUNCTION_TABLE_ACCESS_ROUTINE64 FunctionTableAccessRoutine */ dyn_dbghelp.pSymGetModuleBase64, /* PGET_MODULE_BASE_ROUTINE64 GetModuleBaseRoutine */ NULL)) { /* PTRANSLATE_ADDRESS_ROUTINE64 TranslateAddress */ - IMAGEHLP_MODULE64 module_info; union { char buffer[sizeof(SYMBOL_INFO) + MAX_SYM_NAME * sizeof(CHAR)]; @@ -571,6 +570,7 @@ int main(int argc, char *argv[]) { printf_message("No support for printing stacktrack for current architecture"); #endif DebugActiveProcessStop(event.dwProcessId); + process_alive = FALSE; } continue_status = DBG_EXCEPTION_NOT_HANDLED; break; @@ -583,7 +583,7 @@ int main(int argc, char *argv[]) { } /* Don't invade process on CI: downloading symbols will cause test timeouts */ if (!dyn_dbghelp.pSymInitialize(process_information.hProcess, NULL, FALSE)) { - printf_windows_message("pSymInitialize failed: no stacktrace"); + printf_windows_message("SymInitialize failed: no stacktrace"); break; } break;