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