GNU/Linux >> Linux Esercitazione >  >> Linux

Attiva core/crash dump a livello di programmazione

Ho trovato una soluzione funzionante. I file principali sono ora in fase di creazione.

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));

Il merito va qui:http://adamrosenfield.com/blog/2010/04/23/dumping-core/


se vuoi controllare il tuo limite attuale per il tuo processo di

struct rlimit  v;   //you can decelare any variable

getrlimit(RLIMIT_CORE, &v);

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

se vuoi impostare un nuovo limite, usa il codice sottostante

/////////////////////// imposta limite ///////////////////////////// ///

rendiamola semplice

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);

Un valore di rlim_cur è compreso tra 0 e infinito significa che i core dump verranno generati e troncati alla dimensione specificata. Questo rischia di creare un core dump incompleto


Linux
  1. Recensione di Nagios XI (core Nagios gratuito Vs Nagios XI)

  2. Come usare kdump per l'analisi del crash del kernel Linux

  3. Come causare a livello di codice un core dump in C/C++

  4. Ottieni velocità di collegamento a livello di codice?

  5. Linux scopre l'ID core hyper-thread

Componenti principali di un cluster Kubernetes

Come installare Windows PowerShell Core 6.0 in Linux

Come attivare la modalità oscura in Firefox

Disattiva --skip-grant-tables in MySQL

Cambia password a livello di programmazione

Come visualizzare il file Core (generale)