Ich verwende ein JAVA-Programm auf RHEL 6.4 Server. Das Programm wird abnormal beendet und zeigt die Meldung "Segmentierungsfehler (Core Dumped)" an. Aber ich finde keine Datei, die den Grund für die Beendigung im aktuellen Benutzerverzeichnis angibt, von wo aus das Programm ausgeführt wurde.Segmentierungsfehler beim Ausführen des Java-Programms unter Linux
Wie kann ich debuggen, um den Fehler in einem solchen Fall zu finden?
ZWEIFEL
Wie pro meine understandin Segmentierungsfehler tritt auf, wenn Programm eine Speicheradresse zuzugreifen versucht, außerhalb der Programme reichen. Ich würde erwarten, solche Fehler in C- oder C++ - Programmen zu sehen, aber in Java, da es keine Zeiger gibt, wie ist ein Segmentierungsfehler möglich.
Haben Sie versucht, den Core Dump in 'gdb' zu betrachten? – yamafontes
Welche Version und welches Build von Java verwenden Sie? Wie kann es in JVM sein? Verwenden Sie eine native lib? –
Ein segfault weist auf einen Fehler in einem systemeigenen Code (verwenden Sie eine native Bibliothek) oder in der JVM selbst hin. Einige JVMs haben die Protokolldatei zum Problem im Home-Verzeichnis abgelegt. – Henry