• src/doors/syncduke/CMakeLists.txt syncduke_log.c

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sat Jun 27 03:03:33 2026
    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