Release版才出现的错误如何纠错

原创 2006年05月23日 09:35:00
有的程序运行中出现内存错误:0x00xxxxxx地址,,,某内存不可以读或写...
该错误仅在Release版中出现,在Debug版中不出现,无法调试。
例如:std::map遍历删除某些元素问题 仅在Release版中出错。

对于这类错误,一般程序员都无能为力,只有对整个程序代码仔细阅读,人工纠错。
对于高手可能直接在错误出现时打开调试器,查看汇编代码纠错。

对于调试能力强的程序员,可以根据错误地址,定位到代码,缩小范围后再纠错。
关键就是使用MAP文件。

相关文章推荐

访问实体的几何数据时,抛出 SEHException错误(只有Release版出现)

上周处理了一个有趣的问题,与垃圾回收机制有关。当获取Revit中对象的几何信息,在一个函数来获得构件的Solid。然后在Caller中对solid包含的面进行遍历访问。加载运行编译的debug版时,没...

使用maven创建新项目出现Unable to determine the release version错误

当使用mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app来创建一个新项目时,有时候会出现以下错误:[INFO] S...
  • GenRong
  • GenRong
  • 2011年06月24日 11:05
  • 1988

vc6.0 release版本下出现内容读写错误问题

本来在DEBUG下运行的非常好,可是换成release后就出现了各种的内存读写错误,话说在DEBUG下,没有初始化的变量都被初始化为零了,而在RELEASE下则是随机数值,然后就各种查找错误,最后看到...

调试Release发布版程序的Crash错误(一)

调试Release发布版程序的Crash错误(一)
  • wzsy
  • wzsy
  • 2011年05月26日 10:28
  • 440

调试Release发布版程序的Crash错误(二)

调试Release发布版程序的Crash错误(二)
  • wzsy
  • wzsy
  • 2011年05月26日 10:39
  • 483

调试Release发布版程序的Crash错误 (转)

调试Release发布版程序的Crash错误 http://blog.sina.com.cn/s/blog_48f93b530100fsln.html 在Windows平台下用...

调试Release发布版程序的Crash错误(四)

调试Release发布版程序的Crash错误(四)
  • wzsy
  • wzsy
  • 2011年05月26日 10:40
  • 477

调试Release发布版程序的Crash错误(二)(

 上篇给出的方案一还要补充几句。通过“crash地址 + MAP文件”来定位出错代码位置虽然需要经过比较复杂的地址计算,但却是最简单实现的方式。如果仅仅想通过崩溃地址定位出错的函数,就更加方便了。我在...

调试Release版程序的Crash错误(五)

原文地址:http://blog.sina.com.cn/s/blog_48f93b530100g282.html 当我们把自己的release版本程序发布出去以后,一般都是在用户的机器上运...

调试Release发布版程序的Crash错误(Win7)

今天软件突然挂了,只有event log可以参考,研究了半天,在网上也找了很多资料。有很多很好的资料,不过貌似没有win7版本的,都是xp的。因为win7的event log和xp的貌似有点不同,研究...
  • chcucl
  • chcucl
  • 2013年02月05日 23:56
  • 1000
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Release版才出现的错误如何纠错
举报原因:
原因补充:

(最多只允许输入30个字)