我如何理解这个在 Sleep() 上失败的转储

How do I understand this dump that fails on Sleep()

好的,我很困惑为什么这个调试将这一行显示为失败。

调用堆栈

[External Code]
WorkLoop.cpp
[External Code]

WorkLoop.cpp

中的代码
while(doneWithWork == FALSE)
{
    if (threadsStatusesGood() == FALSE) 
    {
       logErrorMessage("Tread failed");
       doneWithWork = TRUE;
    }
    if (doneWithWork ==FALSE)
    {
        while (timeSpanNotToCheckIfDoneWithWork())
        {
            if (SystemStatusGood() == TRUE)
            {
                if ((shouldDoStuff == FALSE) &&
                     WaitFoMoreWork() == OAS_FALSE))
                {
                    shouldDoStuff = TRUE;
                }
            }
            else
            {
                shouldDoStuff = FALSE;
            }

            Sleep(100);
=>      } // debug pointer on this line.
    }
}

好吧,你实际上并没有澄清你的确切失败,但我怀疑异步操作(后台线程)很快就被拉入执行

Sleep(100);

被调用,并引发异常。如果您没有可调试的 [External Code] 最少的捕获点将是您自己的代码。

你可能陷入另一个线程,而这个线程正在休眠?