2

非オープンソース ライブラリを使用して C++(g++) で開発しています。プログラムを実行するたびに、lib がクラッシュします (一部のメモリが二重に解放されます)。

これで私のプログラムは問題ありません。しかし、プロファイリングには悪いです。プログラムのプロファイリングには -pg を使用します。クラッシュの結果、「gmon.out」は生成されません。だから私はそれをまったくプロファイルすることはできません。

質問: (gprof を使用して)「異常な」プログラムをプロファイリングする方法。

PS。valgrind は、クラッシュしたプログラムを分析するのに問題ありません。

よろしく!

4

1 に答える 1

0

プロファイル データをダンプするためにプログラムから呼び出すことができる関数があります ( とatexitリンクしたときにハンドラーとして自動的にインストールされるものと同じものです-pg) が、それが何と呼ばれているのかわかりません。

exit(0);最も簡単なのは、プログラムの適切な場所に呼び出しを挿入することです。または、ブレークポイントを設定しcall exit(0)て GDB で使用することもできます (ただし、プログラムのデバッグを途中で停止すると、プロファイル データに影響します)。

于 2011-12-13T14:34:22.690 に答える