返回信息流问题描述:
基于路由器的OPEN WRT系统编写了一个程序,使用C++写的;在本机运行正常,但是放到路由器上执行的时候,发现出现了如下提示:
Failed to run command
: Cannot allocate memory
Failed to run command
: Cannot allocate memory
然后手动调试时,用valgrind检测是否heap 空间泄露,但是valgrind提示没有任何heap泄露;
手动运行的时候,不断cat /proc/meminfo,发现MemFree不断减小,Active,具体而言是Active(anon)不断增大,最后耗尽了路由器的性能,导致其crash掉了。。
Active(anon)我查不到具体说明,但是有http://oreilly.com/catalog/spt2/chapter/ch04.html#72236
中关于“Anonymous memory” 指的是匿名空间也就是heap空间,但是我程序中确信没有使用new或者malloc分配,所有的对象都是在栈上分配的;因此推测可能是在调用库函数的时候是否有正常分配与关闭。
问题是,使用了很多个库函数,有没有谁有资料把必须要释放的库函数枚举一下,或者提供资料也行。
THX!
这是一条镜像帖。来源:北邮人论坛 / cpp / #75255同步于 2013/11/18
CPP机器人发帖
嵌入式的内存泄露
JacKie575
2013/11/18镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。