メモリデバッガ(英: memory debugger)とは、動的メモリの確保や開放により生じるメモリリークやバッファオーバーランなどのバグを探し出すためのプログラミングツールである。マネージコードなどのガベージコレクションを備えた言語で記述されたプログラムでも、たとえばコレクションに格納されたままのリファレンスによるメモリリークといった問題が存在するためメモリデバッガが必要な場合がある。

メモリデバッガツール 下のリストはメモリデバッグを行う際有用なツールやライブラリの一覧である。プロファイラをメモリデバッガと併用する場合もある。 ツール名OSライセンス対象言語技術 Linux, Mac OS Free/open source C, C++. Compile-time instrumentation (ClangとGCCで有効) and specialized library Linux, Blue Gene Proprietary commercial C, C++, F90. またはスーパーコンピュータ上の並列プログラム Runtime - through dynamic linking ANTIC Windows (Visual Studio, Embarcadero IDEs) Proprietary commercial .NET, C++, Java, Silverlight, JScript, VBScripthttp://smartbear.com/products/qa-tools/application-performance-profiling/profiling-managed-code Runtime Solaris Windows (Visual Studio) Proprietary commercial C++ Runtime intercepts or compile-time Unix, Windows, Mac OS Xhttp://groups.csail.mit.edu/pag/daikon/download/doc/daikon.html Free/open sourcehttp://groups.csail.mit.edu/pag/daikon/download/doc/daikon.html#License Java, C/C++, Perl, and Eiffel Runtime dynamic invariant detection (一般的なテクニック) (一般的なテクニック) C++ Compile-time override DebugDiag Windows Deleaker Windows Proprietary commercial C++ Any Free/open source C Compile-time override Android, Linux, Windows Free/open source (LGPL and BSD) Any Runtime intercepts Unix Free/open source (GPL) C, C++ Compile-time override FASTMM4 Windows Free/open source (GPL) Delphi Compile-time override Fortify Unix, Windows Proprietary commercial C++, Java, .NET Runtime Windows (Visual Studio plugin), Unix Proprietary commercial C, C++ source code instrumentation Windows (Visual Studio) Proprietary commercial C, C++ Linux (gcc) Free/open source C, C++ Compile-time override Solaris Bundled with Solaris Link-time override いろいろ (programming library) Free/open source C Compile-time override mpatrol memory handling library Free/open source (LGPL) いろいろ Free/open source (LGPL) GNU C library Built-in, outputs accesses いろいろ Free C, C++ Runtime intercepts, Link-time override (MSVC, Clang and GCC), Leak detection Mudflap Linux (gcc) Free/open source C, C++ Compile-time override (GCC 4.9で削除されAddressSanitizerに置き換わった) Oracle Solaris Studio (formerly Sun Studio Runtime Checking) Linux, Solaris Proprietary freeware C, C++, Fortran TotalView / MemoryScape Unix, Mac OS X Proprietary commercial C, C++, Fortran Runtime Linux, Mac OS, Android Free/open source (GPL) 任意 Runtime intercepts Visual Leak Detector Windows (Visual Studio) Free/open source (LGPL) C, C++ Windows Proprietary freeware C, C++, .NET, Python Runtime YAMD Linux, DJGPP

脚注

関連項目 ソフトウェアテスト ソフトウェア工学 プログラミング (コンピュータ) コアダンプ プロファイラ デバッガ

参考文献 Michael C. Daconta: C++ Pointers and Dynamic Memory Management, John Wiley & Sons, ISBN 0-471-04998-0 Andrew Koenig: C Traps and Pitfalls, Addison-Wesley, ISBN 0-201-17928-8

外部リンク "Hunting Memory Bugs" by Ivan Skytte Jorgensen