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

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

阅读 5.9k
2 个回答

既然是「初学Linux下C开发」,那,你确定你是遇到了内存泄露而不是Segment fault或者Stack overflow?不是常驻进程,内存泄露了一般觉察不到啊。

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进