2

メモリを大量に消費し、OS (FreeBSD) によってシグナル 9 で強制終了されるプログラムのメモリ プロファイリングを実行しようとしています。これは特定のデータで発生するため、別の (より小さな) データセットでプロファイリングしてもあまり役に立ちません。プログラムが強制終了されると、massif はまったく出力を生成しません。この状況でメモリのプロファイリングを行うにはどうすればよいでしょうか?

4

1 に答える 1

1

最新の Valgrind バージョン (>= 3.7.0) を使用している場合、Valgrind には gdbserver が組み込まれているため、gdb と一緒に使用できます。

アプリケーションが Valgrind で実行を開始する前に、ブレークポイントを設定できます。ブレークポイントが検出されると、GDB モニター コマンドを使用して、Valgrind ツール固有の機能を呼び出すことができます。たとえば、Massif を使用すると、レポートの作成をトリガーできます。Memcheck を使用すると、リーク検索を実行したり、有効ビットを調べたりすることができます...

シェル コマンド ラインからこれらの監視コマンドをトリガーすることもできます (Valgrind vgdb ユーティリティを使用)。

于 2012-12-15T08:14:24.757 に答える