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

メモリデバッガツール

編集

下のリストはメモリデバッグを行う際有用なツールやライブラリの一覧である。プロファイラをメモリデバッガと併用する場合もある。

ツール名 OS ライセンス 対象言語 技術
AddressSanitizer英語版 Linux, Mac OS Free/open source C, C++. Compile-time instrumentation (ClangGCCで有効) and specialized library
Allinea DDT英語版 Linux, Blue Gene Proprietary commercial C, C++, F90. またはスーパーコンピュータ上の並列プログラム Runtime - through dynamic linking
ANTIC
AQtime英語版 Windows (Visual Studio, Embarcadero IDEs) Proprietary commercial .NET, C++, Java, Silverlight, JScript, VBScript[1] Runtime
Bcheck英語版 Solaris
BoundsChecker英語版 Windows (Visual Studio) Proprietary commercial C++ Runtime intercepts or compile-time
Daikon英語版 Unix, Windows, Mac OS X[2] Free/open source[3] Java, C/C++, Perl, and Eiffel[2] Runtime dynamic invariant detection
Debug_new英語版 (一般的なテクニック) (一般的なテクニック) C++ Compile-time override
DebugDiag Windows
Deleaker Windows Proprietary commercial C++
dmalloc英語版 Any Free/open source C Compile-time override
Dr. Memory英語版 Android, Linux, Windows Free/open source (LGPL and BSD) Any Runtime intercepts
Electric Fence英語版 Unix Free/open source (GPL) C, C++ Compile-time override
FASTMM4 Windows Free/open source (GPL) Delphi Compile-time override
Fortify
IBM Rational Purify英語版 Unix, Windows Proprietary commercial C++, Java, .NET Runtime
Insure++英語版 Windows (Visual Studio plugin), Unix Proprietary commercial C, C++ source code instrumentation
Intel Inspector英語版 Windows (Visual Studio) Proprietary commercial C, C++
libcwd英語版 Linux (gcc) Free/open source C, C++ Compile-time override
libumem英語版 Solaris Bundled with Solaris Link-time override
MemCheck英語版
Memwatch英語版 いろいろ (programming library) Free/open source C Compile-time override
mpatrol memory handling library Free/open source (LGPL)
mtrace英語版 いろいろ Free/open source (LGPL) GNU C library Built-in, outputs accesses
MTuner英語版 いろいろ 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
Valgrind § Memcheck Linux, Mac OS, Android Free/open source (GPL) 任意 Runtime intercepts
Visual Leak Detector Windows (Visual Studio) Free/open source (LGPL) C, C++
WinDbg英語版 Windows Proprietary freeware C, C++, .NET, Python Runtime
YAMD Linux, DJGPP

脚注

編集

関連項目

編集

参考文献

編集

外部リンク

編集