https://gitlab.synchro.net/main/sbbs/-/commit/1293a179f554e6a6f26005b6
Modified Files:
src/doors/syncduke/CMakeLists.txt syncduke_log.c
Log Message:
syncduke: trap CRT fast-fails with a stack trace; emit .map + .pdb
The crash logger had only an unhandled-exception filter, which CRT fast-fails (c0000409 -- invalid parameter, /GS stack cookie, etc.) and stack overflows bypass entirely, so a gameplay abend left nothing logged. Add a CRT invalid- parameter handler (logs a backtrace, then RETURNS so the bad call fails instead of killing the door), a pure-call handler, SIGABRT/SIGFPE/SIGILL handlers, and a
vectored-exception backstop for access violations -- each logging a module+RVA stack trace via RtlCaptureStackBackTrace (resolved at runtime; no dbghelp, since
the vendored Game/src/DbgHelp.h shadows the SDK header).
Build now emits syncduke.map and a .pdb (/Zi + /DEBUG, optimizations preserved via /OPT:REF,/OPT:ICF) so the traces and any external (procdump) dumps resolve to functions.
Co-Authored-By: Claude Opus 4.8 (1M context) <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net