Stacktrace zeigt ...(Unknown Source)

TRaeger

Mitglied
Hallo,
Folgendes Problem:
Unser Programm wirft an einer Stelle innerhalb unseres eigenen Codes eine Exception. Beim Tester wird im StackTrace jedoch generell (unknown Source) ausgegeben, so das es schwierig wird, den genauen Übeltäter ausfindig zu machen.
Ich kenne mich jetzt mit den java-Interna noch nicht so doll aus, gibt es eine Option, die dazu führt das die jar-Files entsprechend gestript werden oder werden generell die .java-Quellen auf dem Rechner benötigt um diese Meldung zu umgehen?

Vielen Dank im voraus
Tilman (Räger)
 

VfL_Freak

Top Contributor
Moin,

(a) eine Exception umgeht man nicht, sondern reagiert darauf!
(b) poste doch einfach mal den StackTrace ... so kann man nur rumraten!

Gruß Klaus
 

Joose

Top Contributor
(b) poste doch einfach mal den StackTrace ... so kann man nur rumraten!
Hm ... er hat doch geschrieben dass der Tester einen StackTrace bekommt nur eben mit "unvollständigen Informationen". Um die Exception selbst geht es ihm ja nicht.

(Soweit ich weiß: ) Der Tester braucht auch die Source Dateien um bei Exception eine vollständige Information (Datei + Zeile) zu bekommen.
 

mrBrown

Super-Moderator
Mitarbeiter
Man kann Debug-Infos inkludieren, zumindest maven und Gradel machen das default auch. Für die Standard-Lib sind die aber glaub ich nur beim JDK vorhanden.

Wie baut ihr denn?
 

Thallius

Top Contributor
Also bei einer nicht obfuskierten .jar bekommt man mindestens Klasse und Methode wo es abtaucht. Das sollte bei übersichtlich programmierten Code eigentlich auch reichen.

Gruß

Claus
 

mrBrown

Super-Moderator
Mitarbeiter
Also bei einer nicht obfuskierten .jar bekommt man mindestens Klasse und Methode wo es abtaucht. Das sollte bei übersichtlich programmierten Code eigentlich auch reichen.

Gruß

Claus
...und wenn Man das fortführt: Bei gut geschriebenen Programmen gibts keine Fehler.

Aber damit dreht man sich irgendwie im Kreis ;)
 

TRaeger

Mitglied
Hallo,

wie Joose richtig erkannt hat, mich interessiert weniger die einzelne Exception (die sind z.T. selbst geworfen und ich weiß warum und wo sie geworfen wurden) sondern der Stacktrace. Leider sind unter den ca. 100 Exceptions, die bei der Ausführung des Programms im Laufe der Zeit geworfen werden, auch die eine oder andere Nullpointer-Exception dabei. Bei einer normalen Anwendung ist das schon ärgerlich, aber hier geht es um eine embedded Anwendung die Teil eines größeren Pakets ist (mit diversen externen Geräten etc.), debuggen ist also schwierig. Ausserdem ist nicht klar, ob der Nullpointer nun ein Fehler ist oder aufgrund besonderer Umstände regulär auftreten darf (und entsprechenden abgefangen werden müsste). Hier wäre der Stacktrace also extrem hilfreich.
Dummerweise bekommen wir (auf den Entwicklungsrechnern) zwar bei allen Exceptions einen brauchbaren Stacktrace, aber können leider den Fehler nicht reproduzieren. Das gleiche auf den uns zur Verfügung stehenden Testgeräten. Auf dem eigentlichen Testsystem gibt es dann nur den verstümmelten Stacktrace.

Ich vermute mal, das irgendeine Option beim Erstellen der Software für das Target verhindert, das die entsprechenden Debug-Informationen mitgegeben werden. Diese Option (oder was es sonst verhindern kann (nachträglicher strip-Befehl o.ä.) interessiert mich.
z.I. : Die Anwendung wird unter Linux mit Eclipse / ant gebaut, Java-Version ist 8.x

Gruß
Tilman (Räger)
 

mrBrown

Super-Moderator
Mitarbeiter
Regulär auftretende NPE? Das klingt ziemlich komisch...


Bei ant muss man das in javac-Tag extra angeben, musst du mal in die Doku gucken, irgendwas mit "debug" ist das ;)
 

TRaeger

Mitglied
javac.debug ist auf true gesetzt :-(
Irgendwelche möglichkeiten, den Code nachträglich zu strippen - oder Gründe, warum Java die Debuginformationen ignorieren könnte?

Die in Frage kommenden Objekte werden aufgrund von den externen Geräten hereinkommenden Messages gesetzt - da ist es immer mal möglich, das eine Message nicht gesendet wurde und entsprechende Objekte dann null sind. Wenn ich dann ohne vorherige Prüfung auf diese Objekte zugreifen will bekomme ich halt eine Nullpointer-Exception. Sicher, das Auslassen der Prüfung könnte man als Programmierfehler betrachten, aber häufig ist die Herleitung nicht so ganz einfach, das man sagen kann, das kann null werden und das nicht. Da fliegt einem schon mal was um die Ohren - vor allem, wenn man es mit jahrealtem Code, an dem sich schon ein Haufen Programmierer versucht hat, zu tun hat (Viele Köche ....)

Tilman
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Thallius Bekomme keine Exception mit Stacktrace mehr. Was habe ich getan? Allgemeine Java-Themen 13
T Java-Flag XX:-OmitStackTraceInFastThrow -- fehlender StackTrace Allgemeine Java-Themen 2
C Fehlerhafter Stacktrace Allgemeine Java-Themen 8
O Stacktrace vergrößern Allgemeine Java-Themen 8
P Stacktrace Allgemeine Java-Themen 2
S Stacktrace von allen Methoden erhalten..? Allgemeine Java-Themen 4
G hat jeder thread seinen eigenen stacktrace? Allgemeine Java-Themen 2
K $ in Stacktrace Allgemeine Java-Themen 2
J stackTrace mit log4j loggen Allgemeine Java-Themen 9
reibi StackTrace befüllen Allgemeine Java-Themen 2
S Stacktrace Allgemeine Java-Themen 8
K Exception -> Stacktrace speichern Allgemeine Java-Themen 3
P Exception Stacktrace in String ausgeben Allgemeine Java-Themen 16
G Stacktrace loggen Allgemeine Java-Themen 9
Queenman Interface Mein Microsoft Visual Studio Code zeigt komische Dinge & Menüs an Allgemeine Java-Themen 9
P Selenium Scriipt zeigt Fehler beim Import Allgemeine Java-Themen 3
Y paintComponent zeigt nix an Allgemeine Java-Themen 3
kodela JDialog zeigt Text nicht an Allgemeine Java-Themen 5
X Swing JTable zeigt nichts Allgemeine Java-Themen 4
D Java zeigt Buttons nicht korrekt an Allgemeine Java-Themen 0
U javax.mail.Folder.list() zeigt nicht alle Ordner Allgemeine Java-Themen 5
Messoras List zeigt nur das letzte Element an Allgemeine Java-Themen 14
F JFrame zeigt Hintergrund und nicht den Inhalt Allgemeine Java-Themen 12
lumo Row Header ist public, zeigt die funktion aber nicht public Allgemeine Java-Themen 8
N Array Element vom Typ eines Objekts zeigt auf ein anderes A. Allgemeine Java-Themen 4
S Eclipse zeigt build.xml immer als fehlerhaft Allgemeine Java-Themen 12
S findbugs zeigt unter Eclipse 3.2 nichts an Allgemeine Java-Themen 2
C Java zeigt keine Fensterinhalte Allgemeine Java-Themen 3
J Compiler-Fehler Unknown Source? Allgemeine Java-Themen 4
G Exceptions ohne Zeilennummer (Unknown Source) Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben