Um einen Core-Dump auf Busybox zu generieren, können wir im Initialisierungsskript, das unsere ausführbare Datei ausführt, die folgenden Parameter hinzufügen. Wenn wir also Software initialisieren und Umgebungsvariablen exportieren, können wir die folgenden Zeilen auch in das Skript kopieren, um den Core zu sichern, falls ein Absturz auftritt.
Um den Speicherort der Core-Dumps in Busybox festzulegen, können Sie den Core-Dateipfad mithilfe des Proc-Dateisystems festlegen. Zum Beispiel, wenn Sie Core-Dumps in /tmp/crash/corefiles
:
mkdir -p /tmp/crash/corefiles
chmod 775 /tmp/crash/corefiles
echo "/tmp/crash/corefiles/%e.%s.core" > /proc/sys/kernel/core_pattern
Wo Variablen sind:
% e ist der Dateiname
% g ist die GID das Verfahren unter lief
% p wird die pid des Prozesses
% s wird das Signal , das der Dump verursacht
% t die Zeit ist der Mulden aufgetreten
% u ist die UID das Verfahren unter lief
Außerdem müssen Sie die Kerndateigröße festlegen. Mit dem folgenden Befehl wird die Kerndateigröße auf unbegrenzt festgelegt
ulimit -c unlimited
Um nun die für jeden Thread innerhalb eines Prozesses festgelegte Kerndateigröße zu überprüfen, können wir Folgendes verwenden
cat /proc/<PID>/limits
Die Ausgabe des obigen Befehls:
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size unlimited unlimited bytes
Max open files 10000 10000 files
Max address space unlimited unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 31868 31868 processes
Max locked memory 65536 65536 bytes
Max file locks unlimited unlimited locks
Max pending signals 31868 31868 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
Wie aus der obigen Ausgabe hervorgeht, ist die maximale Kerndateigröße auf unbegrenzt festgelegt.
Für weitere Informationen besuchen Sie bitte diesen Link.
Debugging-Techniken für Linux-Anwendungen / Core-Dateien