GNU/Linux >> Linux の 問題 >  >> Linux

プログラムでコア/クラッシュ ダンプを有効にする

私は実用的な解決策を見つけました。現在、コア ファイルが作成されています。

struct rlimit core_limit;
core_limit.rlim_cur = RLIM_INFINITY;
core_limit.rlim_max = RLIM_INFINITY;

if (setrlimit(RLIMIT_CORE, &core_limit) < 0)
    fprintf(stderr, "setrlimit: %s\nWarning: core dumps may be truncated or non-existant\n", strerror(errno));

クレジットはこちら:http://adamrosenfield.com/blog/2010/04/23/dumping-core/


プロセスの現在の制限を確認したい場合

struct rlimit  v;   //you can decelare any variable

getrlimit(RLIMIT_CORE, &v);

printf("softlimit=%d   hardlimit=%d  \n",v.rlim_cur,v.rlim_max);

以下のコードを使用するよりも新しい制限を設定したい場合

/////////////////////制限を設定 ///////////////////////// ///

シンプルにしましょう

struct rlimit v;
v.rlim_cur = 0 ;  //if you do not want the core dump file

/*  v.rlim_cur=RLIM_INFINITY;    //set maximum soft limit of the file(unlimited) */

v.rlim_max = RLIM_INFINITY;    //for reference to the soft limit(unlimited)

setrlimit(RLIMIT_CORE, &v);

rlim_cur の値 is between 0 and infinity は、コア ダンプが生成され、指定されたサイズに切り捨てられることを意味します。これにより、不完全なコア ダンプが作成されるリスクがあります


Linux
  1. TarファイルをTgzファイルに変換する方法は?

  2. Nagios XI レビュー (無料の Nagios コアと Nagios XI)

  3. Linux カーネル クラッシュ分析に kdump を使用する方法

  1. C/C++ でプログラムによってコア ダンプを発生させる方法

  2. プログラムでリンク速度を取得しますか?

  3. Linux はハイパースレッド化されたコア ID を見つけます

  1. GDB とコアダンプのトラブル

  2. プログラムでビデオ プレーヤー mpv を一時停止する

  3. MySQL で --skip-grant-tables をオフにする