我如何理解这个在 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]
最少的捕获点将是您自己的代码。
你可能陷入另一个线程,而这个线程正在休眠?
好的,我很困惑为什么这个调试将这一行显示为失败。
调用堆栈
[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]
最少的捕获点将是您自己的代码。
你可能陷入另一个线程,而这个线程正在休眠?