I've added app hang detector to my Windows app recently. All it does - crashes my app in case it detects that app hang. In main window's procedure I update last time it was called. In a separate thread I check if the last time was not updated during 60 seconds. Note that I create this checking thread in main window's procedure. Not earlier.
Now I received the dump.
Main thread's stack is something crazy. All it shows is this:
ntdll.dll!_KiFastSystemCallRet@0()
ntdll.dll!_NtWaitForSingleObject@12()
ntdll.dll!_NtQueryInformationProcess@20()
kernel32.dll!@BaseThreadInitThunk@12()
BaseThreadInitThunk is present. But where is my code?
All symbols for my and system's modules are loaded.
If my code would not be called - app hung detector not crashed my app. So my code must be called. But where is it?