给的再详细些,
可能与初始值的初始化有关系,或者与除零有关
一般debug版中会将一些除零错误预先拦截,而release版不会处理

解决方案 »

  1.   

    release版不支持诸如Assert等的语句,你的错误可能就是在这里吧。你可以把这些语句去掉试一下,这些语句本来就没有什么用处,如果你的程序代码本来就没有什么错误的话
      

  2.   

    release版不是不支持,而是利用宏将ASSERT屏蔽掉了
    但是如果你将某些关键性的语句包在ASSERT中,也会出debug与release不一致的问题.
    例如
    ASSERT(k++);
      

  3.   

    我的程序里无除法运算,也为自己加入assert语句,只不是使用了mscomm32控件,定时器,不过程序是执行一段时间后出错的!
       先谢谢大家,烦请再赐教
      

  4.   

    我的程序里无除法运算,也未加Assert语句,只是用了mscomm32控件和定时器,程序也是执行了一段时间才出错的
      

  5.   

    是不是debug版的release版的C运行时库的问题,你尝试连接debug版的C-runtime库看看
      

  6.   

    接着用debug的版本多调试调试,看看output里面有些什么打印出来
    如果有可能,可以借助工具,比如boundschecker, 跑个几个小时试试
      

  7.   

    release 版的加了优化,多数的问题出在这里,比如别名问题。
    再有ASSERT宏在release版中会被编译器忽略,可以用 VERIFY宏
    代替ASSERT宏。另外,禁用堆栈检查也会出现问题。
    线程程序中,两个线程同时访问一个写静态变量函数也会出问题,
    因为在调试态,该变量保存在内存中,而在发行态可能会出现线程
    间互相覆盖。
      

  8.   

    看看程序中分配内存的地方。
    错误信息中说你超越7ffdefff,既是2G。