hallo,
wenn ich mein c-programm compiliere einsteht ein fehler.
um den fehler genauer orten zu können muss ich den gdb mit meiner binärdatei und der *.core datei füttern.
Man kann mit ulimit einige Maximalwerte für Prozesse festlegen, die von der aktuellen Shell und ihren Abkömmlingen aus gestartet werden. Vermutlich ist die Core Dump Size auf 0 gestellt.
So langsam drehe ich durch. Ich habe in /proc/sys/kernel/core_pattern einen Namen in einem Verzeichnis eingetragen, das für einen bestimmten User schreibbar ist. ulimit -c auf z.B. 100000 oder unlimited gesetzt. Egal welches Signal ich schicke (6 oder 11 z.B.), ich bekomme keinen Coredump. Auch von anderen Programmen nicht. Was kann es denn noch für Einschränkungen geben, dass es nicht funktioniert?
Der Kernel kann Core-Dateien erzeugen, denn immerhin liefert bash einen Core: kill -11 $$ funktioniert.
Habe ich im Programm versehentlich Coredumps abgeschaltet? Ich rufe explizit setrlimit auf, um die Core-Größe auf unlimited zu setzen.
Grüße,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
Es handelte sich um einen Daemon, muss ich dazu sagen. Nun ist es seit einiger Zeit so, dass Programmen, die ihre uid wechseln, das Recht zum Coredump entzogen wird. Abhilfe lässt sich mit