3

デバッグ目的で、プログラムが Linux でのクラッシュ時にコアをダンプするようにします。この機能を有効にするにはどうすればよいですか? プログラムを変更する必要はありますか?

4

4 に答える 4

6

次のようにして、自分で有効にすることができます。

ulimit -c unlimited

これを永続的にしたい場合は、 ~/.profile に入れてください

または、システム上のすべてのユーザーのコア ダンプを有効にして、/etc/sercurity/limits.conf に次の行を追加することもできます (少なくとも ubuntu では)。

*   0  core    -1
于 2012-12-12T04:13:45.773 に答える
2

コアダンプを生成するかどうかはシェルによって制御されます

バッシュを使用する場合。

ulimit -c unlimited
于 2012-12-12T04:12:21.980 に答える
2

Troy の回答に加えて、e/etc/sysctl.conf に追加する必要があります - コアを生成する必要がある場所と方法 - 次のように:

kernel.core_uses_pid=1
kenrel.core_pattern= /tmp/cores/core-%e-%p-%u-%g-%s-%t
fs.suid_dumpable=2
于 2012-12-12T05:36:48.180 に答える
1

プログラムがユーザー モード プログラムの場合。ここに簡単なチュートリアルがあります。

コア ファイル サイズを最大に設定する

ulimit -c 無制限

プログラムを実行する

$ ./your_program

セグメンテーション違反 (コアダンプ)

コア ダンプ ファイルが生成されます。gdb を使用してコア ダンプを分析する

gdb ./your_progrm コア

詳細については、 GDB を使用してデバッグする方法を参照してください。

于 2012-12-12T04:20:01.640 に答える