Debugging
如何在 *nix 系統上跟踪/修復大型 C/C++ 程式碼中的記憶體相關問題
您在跟踪與記憶體相關的問題時使用什麼策略?您使用哪些工具(開源和專有)來辨識記憶體洩漏、記憶體損壞等?如果系統上只有 gdb/dbx 可用,您將如何跟踪記憶體洩漏?
對我來說,僅使用調試器修復記憶體洩漏非常困難。
如果可以更改原始碼,Dmalloc很棒;它將列出哪些指針未釋放以及(對於使用調試符號建構的程式碼)它們被分配在哪一行。
如果你不能,Valgrind幾乎是這類事情的標準。我通常覺得 Valgrind 有點難用,但它有更多的功能,並且不涉及在你的程式碼中添加 dmalloc 呼叫
valgrind 非常有用。