在最容易出错的地方 加try cache
将堆栈信息写成日志文件,还有一种土办法,例如:void 最容易出错的函数()
{
   int nCachePos = 0; //Cache点
   try
  {
     Func1()
     nCache = 1;
     if (Func2())
     {
         nCache = 2;
         
     }
     ...
     ...
  }
  catch(...)
  {
    Output(_T("CachePos = %s" nCachePos)   
  }
}看日志文件中CachePos就知道在那里出错了