有的程序运行中出现内存错误:0x00xxxxxx地址,,,某内存不可以读或写...
该错误仅在Release版中出现,在Debug版中不出现,无法调试。
例如: std::map遍历删除某些元素问题 仅在Release版中出错。
对于这类错误,一般程序员都无能为力,只有对整个程序代码仔细阅读,人工纠错。
对于高手可能直接在错误出现时打开调试器,查看汇编代码纠错。
对于调试能力强的程序员,可以根据错误地址,定位到代码,缩小范围后再纠错。
关键就是使用MAP文件。
该错误仅在Release版中出现,在Debug版中不出现,无法调试。
例如: std::map遍历删除某些元素问题 仅在Release版中出错。
对于这类错误,一般程序员都无能为力,只有对整个程序代码仔细阅读,人工纠错。
对于高手可能直接在错误出现时打开调试器,查看汇编代码纠错。
对于调试能力强的程序员,可以根据错误地址,定位到代码,缩小范围后再纠错。
关键就是使用MAP文件。
内存错误调试
本文探讨了在程序运行过程中遇到的特定内存错误,这类错误只出现在Release版本中,而在Debug版本中不显现,使得调试变得复杂。文章介绍了如何通过仔细阅读源代码进行人工纠错,并提出了一种利用MAP文件来定位错误位置的有效方法。
823

被折叠的 条评论
为什么被折叠?



