阿弥陀佛
分类: LINUX
2016-05-13 14:19:28
1. 今天调用free的时候出现了死锁,卡在free上,ll_lock_wait_private 这个libc.so上。
上网查了以下,发现是内存写越界了,然后我就重新review了一下自己写的代码,原来是调用第三方库的时候,错误的使用了这个库,导致内存发生越界,写到了非法的栈空间,把栈写乱了,导致内存管理部分的数据出错,表象就是free出现死锁。
2. make的时候如果出现 timestamp is xxx in the future,那么说明两台机器上的时钟是不一致的,解决的办法是:
在这台机器上的项目目录执行如下命令: find -type f | xargs -n 5 touch。
3. cppcheck是可以对代码进行静态检测的工具。有linux版本,可以检测出一些初步的内存泄漏的问题。例如一个变量如果申请了内存,在出离这个函数的时候,返回值没有带着这个指针,那么这块内存就会无法释放。