Generate mapfile 解决 APPCRASH 问题

简介该方法只能定位显性泄漏,定位 到的C语句一定产生泄漏了,但可能这个位置是"理论上"不会出问题的代码.那么这是由于同进程内其他代码泄漏而影响了进程的堆区或栈区(隐性泄漏,这个地 方不会产生data abort exception),然后被定位出来的代码才被动地显性泄露.产生data abort. 在篇末我给出代码实例来说明这种情况。 PlatformBuilder或VS2005、EVC这类IDE工具会在DEBUG模式下自动停在出错的那句,情况就很显然了。RELEASE版本下的泄漏就

该方法只能定位显性泄漏,定位 到的C语句一定产生泄漏了,但可能这个位置是"理论上"不会出问题的代码.那么这是由于同进程内其他代码泄漏而影响了进程的堆区或栈区(隐性泄漏,这个地 方不会产生data abort exception),然后被定位出来的代码才被动地显性泄露.产生data abort. 在篇末我给出代码实例来说明这种情况。


PlatformBuilder或VS2005、EVC这类IDE工具会在DEBUG模式下自动停在出错的那句,情况就很显然了。RELEASE版本下的泄漏就要稍微麻烦一点,如何快速定位呢?

你可以通过map文件来大概定位,能确定到某一个函数当中去。MAP 文件是最基本/常用的方法,但前提是编译时必须生成 MAP 文件,否则无从查起。

这种方法类似在 DEBUG 模式下自动停在出错的那句的情况,对于内存泄漏可能出现的隐形错误无法准确定位。程序中途的内存泄漏可能在程序之后对内存的操作中才暴露出来。


vs生成的map文件详解:https://blog.csdn.net/u012138730/article/details/90611728

新加评论 评论标题: