当前位置: 技术问答>linux和unix
如何查找内存泄露问题
来源: 互联网 发布时间:2016-11-28
本文导语: 定义了一个全局变量,在一段程序中,加上一句打印信息,全局变量的值是对的,去掉的话,全局变量的值就被冲掉了。 应该是其它地方的内存泄露或者数组越界,在赋值时,把这个全局变量也给冲掉了。 现在的...
定义了一个全局变量,在一段程序中,加上一句打印信息,全局变量的值是对的,去掉的话,全局变量的值就被冲掉了。
应该是其它地方的内存泄露或者数组越界,在赋值时,把这个全局变量也给冲掉了。
现在的问题是,如何找到是哪个数组越界,或者是哪里的内存泄露把全局变量的值冲掉了?
编译后的库里,可以看出来么?
nm liba.so 里,可以看出吗?
应该是其它地方的内存泄露或者数组越界,在赋值时,把这个全局变量也给冲掉了。
现在的问题是,如何找到是哪个数组越界,或者是哪里的内存泄露把全局变量的值冲掉了?
编译后的库里,可以看出来么?
nm liba.so 里,可以看出吗?
|
|
全局变量么,检查该全局变量前定义的数组吧, 一般这类问题在空间上都是相邻的
另外,内存泄露不会把你的数据写坏吧
另外,内存泄露不会把你的数据写坏吧
|
定义了一个全局变量,在一段程序中,加上一句打印信息,全局变量的值是对的,去掉的话,全局变量的值就被冲掉了。
有谁理解了这句话是怎么样的一个过程???
可以使用一些第三方库,如果内存越界的话,执行会有错误提示。 这个第三方库可能是上上楼说的,我自己也没记住。 关于内存泄漏的话。不清楚,内存泄漏那么好解决的话,就不会是CC++程序员的大问题了,所以关键还是养成良好的编程习惯。
兄弟,你可以结贴了
有谁理解了这句话是怎么样的一个过程???
可以使用一些第三方库,如果内存越界的话,执行会有错误提示。 这个第三方库可能是上上楼说的,我自己也没记住。 关于内存泄漏的话。不清楚,内存泄漏那么好解决的话,就不会是CC++程序员的大问题了,所以关键还是养成良好的编程习惯。
兄弟,你可以结贴了