Wie beschränken Sie die Größe des core-dump-Datei generieren, wenn Sie mit GDB
Ich bin mit einer eingebetteten Anwendung auf ARM9-board, wo die Gesamtzahl der flash-Größe ist nur 180 MB. Ich bin in der Lage zu laufen gdb
, aber wenn ich das mache
(gdb) generate-core-dump
Bekomme ich eine Fehlermeldung
warning: Memory read failed for corefile section, 1048576 bytes at 0x4156c000.
warning: Memory read failed for corefile section, 1048576 bytes at 0x50c00000.
Saved corefile core.5546
The program is running. Quit anyway (and detach it)? (y or n) [answered Y; input not from terminal]
Tamper Detected
**********OUTSIDE ifelse 0*********
length validation is failed
Ich auch eingestellt ulimit -c 50000
aber immer noch die core-dump dieses limit überschreitet. Wenn ich ls -l
zu überprüfen, Datei-Größe, es ist über 300 MB. In diesem Fall, wie sollte ich das begrenzen der Größe des core-dump?
InformationsquelleAutor manav m-n | 2011-10-12
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
GDB nicht Respekt "ulimit -c", nur der kernel.
Es ist nicht klar, ob du GDB auf dem target-board, oder auf eine Entwicklung, host (und mit gdbserver auf dem target). Sie sollten wahrscheinlich die letztere, die es erlauben, Sie zu sammeln, full core dump.
Abgeschnitten core-dumps sind ein Schmerz sowieso, wie oft sind Sie nicht enthalten genau die Informationen, die Sie benötigen, um zu Debuggen das problem.
in Ihre shell-rc-Datei:
sollte das limit für alles, einschließlich GDB
Hinweis:
Wenn man es auf 0 , können Sie sicherstellen, dass Ihr home-Verzeichnis ist nicht überladen mit core-dump-Dateien.
Wann haben Sie ulimit -c ? Es muss verwendet werden, bevor das Programm, für das Sie generieren einen core-dump, und innerhalb der gleichen Sitzung.