とんちゃんといっしょ

Cloudに関する技術とか日常とかについて書いたり書かなかったり

メモリリークと戦う

どうも会社で作ったCのプログラムがメモリリークを起こしているらしい。
先輩に言われてデバッグしてたけど最後の方は見つけきれない。


むしろどうやって先輩はメモリリークを見つけているのかと思って聞いたらツールを使っているらしい。
・・・逆にツールを使わずによくここまでやったなと言われた。


先輩からvalgrindというツールを教えてもらって試してみる。
SUGEEEEE!
スタックトレースができるからどの関数内でメモリリークしてるかが大体わかる。


中には???ってなって関数名がわからないのがいるけど、
何階層目かを数えればどの関数か分かるのでたいしたことではない!


一気にデバッグが進んだのでよしとする。