Commit d67dacea authored by Andreas Mohr's avatar Andreas Mohr Committed by Alexandre Julliard

- Print CS reg at crash MessageBox (needed for Win16 programs).

- Add "hint" for debugger setup.
parent 0595b1f2
...@@ -133,9 +133,10 @@ DWORD WINAPI UnhandledExceptionFilter(PEXCEPTION_POINTERS epointers) ...@@ -133,9 +133,10 @@ DWORD WINAPI UnhandledExceptionFilter(PEXCEPTION_POINTERS epointers)
} }
if (!bAuto && Callout.MessageBoxA) { if (!bAuto && Callout.MessageBoxA) {
sprintf( buffer, "Unhandled exception 0x%08lx at address 0x%08lx.\n" sprintf( buffer, "Unhandled exception 0x%08lx at address 0x%04lx:0x%08lx.\n"
"Do you wish to debug it ?", "Do you wish to debug it ?",
epointers->ExceptionRecord->ExceptionCode, epointers->ExceptionRecord->ExceptionCode,
epointers->ContextRecord->SegCs,
(DWORD)epointers->ExceptionRecord->ExceptionAddress ); (DWORD)epointers->ExceptionRecord->ExceptionAddress );
if (Callout.MessageBoxA( 0, buffer, "Error", MB_YESNO | MB_ICONHAND ) == IDNO) { if (Callout.MessageBoxA( 0, buffer, "Error", MB_YESNO | MB_ICONHAND ) == IDNO) {
TRACE("Killing process\n"); TRACE("Killing process\n");
...@@ -168,7 +169,9 @@ DWORD WINAPI UnhandledExceptionFilter(PEXCEPTION_POINTERS epointers) ...@@ -168,7 +169,9 @@ DWORD WINAPI UnhandledExceptionFilter(PEXCEPTION_POINTERS epointers)
WaitForSingleObject(hEvent, INFINITE); WaitForSingleObject(hEvent, INFINITE);
ret = EXCEPTION_CONTINUE_SEARCH; ret = EXCEPTION_CONTINUE_SEARCH;
} else { } else {
ERR("Couldn't start debugger (%s) (%ld)\n", buffer, GetLastError()); ERR("Couldn't start debugger (%s) (%ld)\n"
"Read the documentation on how to set up winedbg or another debugger\n",
buffer, GetLastError());
} }
CloseHandle(hEvent); CloseHandle(hEvent);
} else { } else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment