写了一个控制台程序, 主程序是一个循环,如下:
unsigned long count = 0;
while(true)
{
     SomeFunc();
     test << count << "th Sleep enter" << endl;
     Sleep(5*60*1000);
     test << count << "th Sleep leave" << endl;
}执行程序时跳出一对话框显示:应用程序发生异常 未知的软件异常 (0x0000417), 位置0x004201a6。
我在SomeFunc()的入口和退出的地方都加了打印语句,打印出SomeFunc的执行次数,可以确定异常是在 nth Sleep enter 之后里出现的,如果是Sleep(5*60*1000),则SomeFunc()执行一次,Sleep出现异常; 后来我改成Sleep(10*1000),则SomeFunc()执行的次数不等,Sleep比SomeFunc()少执行一次,最后出现异常。有哪位碰到类似问题没, 给解释下, 谢谢!

解决方案 »

  1.   

    另做一个测试程序,在main函数里,只有这个循环,再试试
      

  2.   


    谢谢, main函数里除了一个初始化函数就只有这个循环了。
      

  3.   

    去掉Sleep(5*60*1000);看问题是否依旧
      

  4.   

    Sleep是不会有问题的,问题应该与SomeFunc函数有关。
      

  5.   

    SomeFunc里面都做了些什么?
    信息不足啊
      

  6.   

    可以把Sleep注释掉,应该也会出现异常的
      

  7.   

    谢谢各位, 确实是SomeFunc()的问题,去掉Sleep还是会出现问题。