メモリデバッガ

メモリデバッガ（英: 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

Category:デバッガ
Category:メモリ管理ソフトウェア