2016-04-18 6 views
0

私はcentos4.1を持っています。バイナリにvalgrindを実行しようとしました。プロセスが「強制終了」メッセージで中止されるたびにダンプファイルも生成されますが、このダンプファイルをgdbでデバッグしようとすると、単に「シンボルが見つかりません」というエラーが表示されます。何が原因だろうか? また、スワップメモリ​​(15 GB)を使用していないようです。 しかし、それは簡単なプログラムのためにうまくいきます。"殺された"メッセージで中止されたValgrind

何か助けていただければ幸いです。 ありがとうございます。

+0

これを見てください:http://stackoverflow.com/questions/1950685/debugging-a-core-produced-by-valgrind – vcp

+0

thanx @vcp、それをしなければなりません。私は後で戻ってきます。 – ASON

答えて

0

これはおそらく、システムがメモリ不足になって、おそらく最大のプロセスを起こしている可能性が高い原因として考えられます。

スワップスペースを追加することでこれを避けることができます(もちろん、実際のメモリも役立ちます)。 Valgrindは、範囲外のアクセスをトラップするために、割り当ての間にアクセスできない領域を確保する必要があるため、メモリ使用量にかなりのオーバーヘッドを生成します。

+0

Thanks @ simon.Iチェックしますが、valgrindのメモリ管理ユニットは現在のところエラーを提供していません。 – ASON

+0

いいえ、プログラムが10バイトのメモリを割り当てた場合、valgrindは42バイトを割り当てます(10 + 2回の '--redzone-size'引数、* memcheck *のデフォルトは16)ので、コンピュータ全体がフリーになりますページ。 'dmesg'を使ってカーネルログをチェックすると、そこに言及する必要があります。 –

関連する問題