動的解析ツール「Valgrind-3.13」リリース、より大規模なシステムに対応可能に

 Valgrind開発チームは6月14日、最新安定版「Valgrind-3.13.0」を公開した。Valgrindはアプリケーションの実行時の挙動を動的に解析するツールで、本バージョンでは大規模アプリケーション向けの機能強化が図られている。

 Valgrindはアプリケーション実行時のメモリ管理やスレッド管理などを分析したり、プロファイリングなどを行えるオープンソースの解析ツール。GPLv2で公開されており、メモリエラー検出、スレッドエラー検出、キャッシュとブランチ予測プロファイラ、ヒーププロライラ、コールグラフ生成キャッシュとブランチ予測プロファイラの5種類合計6つのツールから構成されている。Linux(x86、AMD64、ARM、ARM64、PPC32/64/64LE、S390X、MIPS32/64)、Solaris(x86、AMD64)、Android(ARM、ARM64、x86、MIPS32)、Darwin/Mac OS X 10.10(X86、AMD64)などさまざまなプラットフォームをサポートする。

 Valgrind-3.13は2005年に公開されたバージョン3系の最新版。2016年10月のバージョン3.12に続くリリースとなる。

 大規模アプリケーションの需要に対応するため、変換キャッシュサイズを拡大した。対応セクター数はこれまでの24から48となり、デフォルトのセクター数は16から32となった(Androidは6から12に増えた)。メモリも拡大し、64GBから128GBまで使用できるようになった。これにより、アプリケーションはMemcheck使用時に最大60GBを割り当てできるという。

 また、大規模な実行ファイルの読み込みに対応するため、デフォルトのロードアドレスが0x3800’0000から0x5800’0000となり、1200MBの実行ファイルの読み込みが可能という。

 C++demanglerが新しくなり、Rustシンボルのdemanglerもサポートした。最新版ではまた、スタックトレースに新たにXTreeが加わった。関連データを含むスタックトレースのツリー表示で、Memchack、Helgrind、Massifなどのツールはこれを利用してヒープのレポートを作成できる。

 このほか多数のバグも修正されている。

Valgrind
http://www.valgrind.org/