I have a huge code-base I am unfamiliar with, and the program terminates abnormally because a thread somewhere is calling __fastfail
. This is based on the message, which ends with
... Fatal program exit requested.
The call stack has no symbols because it's inside C++ 2015 runtime (ucrtbase.dll
). The call appears to be made on a thread other than my main thread. This mysterious thread only starts just before the issue happens so I can't catch the act of it starting in the debugger - I don't know what's starting it, and what causes the whole process in the first place.
I have SEH in my main()
using __try/__catch
, so any unhandled exceptions should be getting trapped there. Instead I am guessing something somewhere bubbles up to the runtime and results in __fastfail
.
I tried peppering all my threads with SEH just like main()
, tried hooking abort()
, exit()
and terminate()
, and can't find the problem. How do I debug this, any tips?