开发者社区> 问答> 正文

c写的程序,如何快速查找内存泄露的位置

初学linux下c开发,遇到了内存泄露问题,怎么样快速排查是哪个变量出的问题?

展开
收起
a123456678 2016-06-07 17:56:00 1965 0
2 条回答
写回答
取消 提交回答
  • 最快的办法是检查代码,软件推荐valgrind,附一篇教程:https://www.oschina.net/translate/valgrind-memcheck

    2019-07-17 19:30:35
    赞同 展开评论 打赏
  • 既然是「初学Linux下C开发」,那,你确定你是遇到了内存泄露而不是Segment fault或者Stack overflow?不是常驻进程,内存泄露了一般觉察不到啊。

    如果是内存泄露,简单的程序自己检查下malloc和free是否对称就行了;除了Valgrind,简单的可以用libmtrace,它就是hook了malloc和free调用,自动检查有没有malloc而没有free的内存。

    2019-07-17 19:30:35
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
内存取证与IaaS云平台恶意行 为的安全监控 立即下载
云服务器ECS内存增强型实例re6全新发布 立即下载
低代码开发师(初级)实战教程 立即下载