读书人

C语言中怎么检查调用一个函数之后

发布时间: 2013-11-12 12:10:37 作者: rapoo

C语言中,如何检查调用一个函数之后,有无内存泄露。
如题。 如何才能检测出内存泄露。


[解决办法]
如果要完全自己实现的话,我有一个想法
自己写一个头文件,代替掉原来的内存分配头文件
等于是重写里面的malloc和free函数等函数
申请内存时,先调用真正的malloc函数,获得了内存指针后,将此指针做个记录
释放内存时,根据内存指针地址,把相应的记录给删除
最后,如果记录为0表示没有泄漏

调试完成后,就可以把原来的真正文件还原重新链接编译
[解决办法]

这个服务程序是给一个界面系统做服务端用的,所以新增加业务的时候,免不了要调用其他人自己写的程序。所以持续运行只能检查现有程序,不能让对以后新增加的程序做限制。

我目前折中的做法是,每次子进程调用了一定(可配置的)次数之后,舍弃掉。

哎,看来是没啥好办法了。
《Unix编程艺术》

读书人网 >C语言

热点推荐