Windows 疯狂堆栈跟踪

Windows 疯狂堆栈跟踪,windows,crash-dumps,Windows,Crash Dumps,最近我在Windows应用程序中添加了应用程序挂起检测器。它所做的一切-崩溃我的应用程序,以防它检测到应用程序挂起。 在主窗口的过程中,我在上次调用时更新了它。 在一个单独的线程中,我检查最后一次是否在60秒内没有更新。 注意,我在主窗口的过程中创建了这个检查线程。不早 现在我收到了垃圾 主线程的堆栈有些疯狂。它所显示的是: ntdll.dll!_KiFastSystemCallRet@0() ntdll.dll!_NtWaitForSingleObject@12() ntdll.dll!_Nt

最近我在Windows应用程序中添加了应用程序挂起检测器。它所做的一切-崩溃我的应用程序,以防它检测到应用程序挂起。 在主窗口的过程中,我在上次调用时更新了它。 在一个单独的线程中,我检查最后一次是否在60秒内没有更新。 注意,我在主窗口的过程中创建了这个检查线程。不早

现在我收到了垃圾

主线程的堆栈有些疯狂。它所显示的是:

ntdll.dll!_KiFastSystemCallRet@0()
ntdll.dll!_NtWaitForSingleObject@12()
ntdll.dll!_NtQueryInformationProcess@20()
kernel32.dll!@BaseThreadInitThunk@12()
BaseThreadInitThunk存在。但我的代码在哪里

已加载我的模块和系统模块的所有符号


如果我的代码不会被调用-应用程序挂起检测器不会使我的应用程序崩溃。所以必须调用我的代码。但是它在哪里呢?

如果你去寻找应用程序死锁和挂起的疯狂方式,那么你很容易找到它。那个线程还没有开始执行你的代码,是的。因为它是主线程,它在我的应用程序中创建了几个服务线程,运行良好,对它们的堆栈跟踪是可以的。内核使用线程玩堆栈切换游戏。在64位版本的Windows上运行32位应用程序也很有趣。用线程堆叠切换游戏?您能否提供一些详细信息?您是否尝试使用应用程序验证程序来捕获挂起条件?