ほとんどの場合、我々は静的解析ツールを話題にするが、動的解析ツールはメモリー問題やスレッドの問題を扱うときには、もっと重要になる場合がある。このことがなぜ Valgrindのようなインストルメンテーション・フレームワークがそんなに重要なのかの理由である。/p>
MonoTouch 5.4以降では、開発者はValgrindを使ってiOSベースのアプリケーションをデバッグできるようになった。 Valgrind 3.7.0以降が推奨されており、“--enable-only32bit” と “--prefix=/usr/local”のフラッグをつけてコンパイルする必要がある。
Valgrindをインストールすると以下の様なツールが一緒についてくる。
- メモリエラー検出ツール
- 2スレッドエラー検出ツール
- キャッシュと分岐予測プロファイラー
- コール-グラフ 生成キャッシュと分岐予測プロファイラー
- ヒーププロファイラー
これは、フレームワークなので、開発者は時々新しいValgrindベースのツールや変形版を作成している。
Rolf Bjarne Kvinge氏が警告するのは、Valgrindは多くのノイズを出す可能性があることだ。あなたが注意する必要があるのは、“Invalid read of size X” と “Invalid write of size X”である。