core.* Dateien - was ist das? [Gelöst]

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
mullers

core.* Dateien - was ist das? [Gelöst]

Beitrag von mullers » 04.11.2007 20:34:33

Hi,

seit einigen Tagen tauchen in meinem Home Verzeichnis immer Dateien dieser Art auf:

Code: Alles auswählen

core.12626 core.126269 usw.
Hat anscheinend etwa mit Abstürzen eines Programms zu tun, wenn ich das richtig verstanden habe. Für mich ersichtlich stürzt aber nichts ab. Was mache ich mit dem Zeugs, lesen kann ich sie nicht da es binär Dateien sind. Also: ??

Grüsse
henry
Zuletzt geändert von mullers am 05.11.2007 16:30:16, insgesamt 1-mal geändert.

123456
Beiträge: 6126
Registriert: 08.03.2003 14:07:24

Beitrag von 123456 » 04.11.2007 20:42:00

Vielleicht kannst Du damit reingucken: ?
http://ddtp.debian.net/ddt.cgi?desc_id=824&language=de

Benutzeravatar
beta1
Beiträge: 2565
Registriert: 01.05.2006 21:05:34
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von beta1 » 04.11.2007 20:47:19

http://www.oreilly.de/german/freebooks/ ... ch142.html :wink:
Eine Core-Datei analysieren
...
...
Nicht alle Speicherfehler werden sofort einen Programmabsturz nach sich ziehen. Es kann zum Beispiel vorkommen, daß Sie irgendwo einen Speicherbereich überschreiben und das Programm trotzdem weiterläuft, weil es den Unterschied zwischen echten Daten und Programmcode oder Datenmüll nicht kennt.
Rest ist auch interessant.

chrigl
Beiträge: 26
Registriert: 06.09.2004 19:49:30

Beitrag von chrigl » 04.11.2007 20:53:25

Hi henry,

richtig, core files werden im Falle eines Speicherzugriffsfehlers erzeugt. Darin enthalten ist dann der Speicherauszug zum Zeitpunkt des Absturzes.

Mit "file core.PID" kannst du herausfinden welches Proramm das core file erzeugt bzw. verursacht hat. Das core kannst du dann mit dem Binary zusammen im Debugger verwenden. Dadurch kannst du herausfinden wo das Programm zum Zeitpunkt des Absturzes war, wie der Speicher zu der Zeit aussah, etc.
gdb `which PROG` core.PID
Solche Informationen sind dann für die Entwickler hilfreich, um den Fehler zu finden und zu beheben.
Gruß, chris

mullers

Beitrag von mullers » 05.11.2007 11:54:12

chrigl hat geschrieben: Mit "file core.PID" kannst du herausfinden welches Proramm das core file erzeugt bzw. verursacht hat.
Leider nicht:

Code: Alles auswählen

_(1:11:53:%)__ file core.4926
core.4926: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style
Da müsste ja noch ein " from PROGRAMNAME" dabeistehen, tut's aber nicht.

chrigl
Beiträge: 26
Registriert: 06.09.2004 19:49:30

Beitrag von chrigl » 05.11.2007 12:40:49

hmm. Dieses Verhalten ist mir bisher noch nicht aufgefallen. Das einzige was mir dazu jetzt einfallen würde ist den Namen der Anwendung mit in den Namen des core-files schreiben zu lassen.
Also, dass du nachher z.B. einen core.APP.PID bekommst.

http://www.linuxhowtos.org/Tips%20and%2 ... redump.htm
Gruß, chris

mullers

Beitrag von mullers » 05.11.2007 16:29:52

chrigl hat geschrieben:hmm. Dieses Verhalten ist mir bisher noch nicht aufgefallen. Das einzige was mir dazu jetzt einfallen würde ist den Namen der Anwendung mit in den Namen des core-files schreiben zu lassen.
Also, dass du nachher z.B. einen core.APP.PID bekommst.

http://www.linuxhowtos.org/Tips%20and%2 ... redump.htm
Ja, damit hat es funktioniert. Es ist irgendein Opera Plugin. So wie ich gelesen habe ist dieser coredump in bash als Standard deaktiviert, in der zsh nicht. Ich hatte noch nie solche core Dateien, eben erst jetzt mit der zsh. Mal schauen, wie ich das deaktivieren kann.

Danke
henry

chrigl
Beiträge: 26
Registriert: 06.09.2004 19:49:30

Beitrag von chrigl » 06.11.2007 11:31:09

cores kannst du mit

Code: Alles auswählen

ulimit -c 0
deaktivieren. Müsstest du also in deine .zshrc ... oder so eintragen.
Gruß, chris

Antworten