Java-Flag XX:-OmitStackTraceInFastThrow -- fehlender StackTrace

Tausendacht

Mitglied
Hallo

Mir ist beim Programmieren mit Eclipse aufgefallen, dass der StackTrace beim Auftreten einer Exception "null" ist.
Nach einiger Recherche hab ich gelesen, dass ich das java-Flag "XX:-OmitStackTraceInFastThrow" setzten muss ( das wohl aus Performancegründen dafür sorgt, dass der StackTrace von häufig auftretenden Exceptions nicht geschrieben wird).

Ich habe also im comand-window "java -XX:-OmitStackTraceInFastThrow" eingegeben, wenn ich anschliesend mit "java -XX:+PrintFlagsFinals" die flags anzeigen lasse, ist der Wert immer noch auf true.
Nur, wenn ich beide Befehle in einer Zeile ausführe, wird mir der Wert als false angezeigt, anschliesend aber auch direkt wieder true.

Meine Frage ist also, warum der Wert nicht gespeichert wird.
Ich kenne mich mit flags nicht wirklich aus, deshalb weiß ich nicht, ob ich das richtig angegangen bin.

Ich hoffe, Ihr könnt mir helfen. Danke!
 
Meine Frage ist also, warum der Wert nicht gespeichert wird.
Ich kenne mich mit flags nicht wirklich aus, deshalb weiß ich nicht, ob ich das richtig angegangen bin.
Das ist so gewollt. Du gibst diese Parameter bei Aufruf der JVM mit und diese sind dann genau so lange gültig, wie die JVM läuft. Die Parameter sind nicht dafür gedacht, die JVM dauerhaft umzukonfigurieren. Das ist aber auch nicht wirklich ein Nachteil, speicher Dir den gewünschten Aufruf einfach in ein Startscript für Deine Anwendung.

P.S. Den Parameter
Code:
-XX:+PrintFlagsFinals
scheint es zumindest bei der Oracle-JVM nicht zu geben.
 
Hallo nillehammer

Ersteinmal Danke für Deine Antwort.

Ich habe versucht mich etwas über das Thema schlau zu machen und bin dabei auf das Editieren der eclipse.ini Datei gestoßen. Ich weiß nicht, ob es das ist, was Du meintest.

Ich habe also in der Datei die Zeile "-XX:-OmitStackTraceInFastThrow" an's Ende hinzugefügt.

Einen StackTrace habe ich aber leider immer noch nicht (nach Neustart von Eclipse natürlich).
War wenigstens der Ansatz der richtige?

P.S.: Entschuldige, da ist mir ein Schreibfehler unterlaufen. Korrekt heißt es: "-XX:+PrintFlagsFinal".
 
Zuletzt bearbeitet:

Zurück
Oben