Fehlerfindung GUI

stg

Top Contributor
Nur mal als info das ist ein "interner Kunde" als unser Fachbereich... und das Programm wird nicht veröffentlicht sondern wird intern als hilfstool genutzt.

Eben warst du noch in einem Softwarehaus tätig und der Kunde im öffentlichen Dienst.

Ja die Fehlermeldung doch einfach mal googeln ;)
https://www.google.at/?client=firefox-b#q=Server+returned+HTTP+response+code:+500&gfe_rd=cr
Hier dürfte es ein Problem am Server geben ....

Aber es ist ja trotdem nicht Schuld des Servers, dass der Client abschmiert, wenn der Service mal nicht verfügbar ist. Da hat jemand echt großen Mist verbockt.
 

JStein52

Top Contributor
dass der Client abschmiert, wenn der Service mal nicht verfügbar ist.
Das ist jetzt rauszufinden was Ursache und was Wirkung ist. Zwingt der Client den Server mit einem Request in die Knie oder schmiert der Client ab (indem er nichts mehr tut) weil der Server zufällig nicht läuft. Jetzt mal die Logfiles am Server anschauen.
 

JUNIT200

Mitglied
Also Client und Server habe ich selber programmiert. Es werden SoapDaten vom client an den Server geshcickt...der macht dann datenbankzugriffe und schickt antwort zurück an den client. Wo könnte das Problem sein?
 

Thallius

Top Contributor
Sei doch nicht so zaghaft mit der Wahrheit. Die Wahrheit ist doch ganz einfach, dass, wenn da wirklich ein System beim Kunden gelandet ist ohne gescheites Logging, dann hat da jemand in der Projekt-Leitung gewlatig scheiße gebaut. Bei so einer Aktion sollte man sich in keinster Weise auch nur ansatzweise wundern, wenn man deswegen seinen Job verliert.

Der besagten Firma muss es ja prächtig gehen, dass die eigene Reputation und Kunden, die zuverlässig zahlen, so egal sind. So was unprofessionelles würde ich allerhöchstens von irgendeiner Studi-Start-Up-Kitsche erwarten.

Ich hatte selber mal das Vergnügen für eine Firma zu arbeiten, die Software für eine Behörde erstellt. Was die sich erlauben können kannst du dir gar nicht vorstellen. Es gibt halt keine Konkurrenz. Was die machen muss benutzt werden und gut ist....

Das ist die echte Lizenz zum Geld verdienen.

Gruß

Claus
 

JUNIT200

Mitglied
Das ist echt ein sehr komisches Problem. Wenn ich die Anwendung schließe und starte ist das Problem noch immer da. Erst nach einer Zeit geht es wieder. Ich glaub das es wohl am Server liegt....kann es sein das ich eine datenbankabfrage vergessen habe zu beenden und der erstmal abschmiert?
 

JUNIT200

Mitglied
Nö.

Und sieh es einfach als Lehrgeld, dass du jetzt bezahlst. Bei deinem nächsten Projekt muss dich niemand mehr dran erinnern.

Das loggen habe ich ja mal bei anderen Projekten gemacht. Mit Log4j bei jeder möglichen Excpetion abgefagen/hinschreiben. War schon sehr aufwendig das zu implementieren....gibt es da eine kompaktere/besser Lösung?
 

stg

Top Contributor
Das ist kein entweder / oder ... du hast fehlerhaften Code am Client UND am Server.

Und raten kann man natürlich, aber das wäre vollkommen unnötig, wenn du dich einfach mal ans Logging machen würdest... Vermutlich ist der Umfang deiner Anwendung zu gering, dass du damit längst hättest fertig sein können.
 

Joose

Top Contributor
Wenn ich die Anwendung schließe und starte ist das Problem noch immer da. Erst nach einer Zeit geht es wieder. Ich glaub das es wohl am Server liegt..
Wie schon von uns gesagt liegt das Problem am Server UND am Client.
Server hat ein Problem, der Client reagiert darauf falsch und friert ein (auch das ist ein Fehler der gefixed gehört).

Mit Log4j bei jeder möglichen Excpetion abgefagen/hinschreiben. War schon sehr aufwendig das zu implementieren....gibt es da eine kompaktere/besser Lösung?
Man muss es nicht jede Exception loggen, sondern eben dort wo es Sinn macht ;)
Und wenn man dies während der Entwicklung direkt macht ist es nicht aufwendig.
 

stg

Top Contributor
Das loggen habe ich ja mal bei anderen Projekten gemacht. Mit Log4j bei jeder möglichen Excpetion abgefagen/hinschreiben. War schon sehr aufwendig das zu implementieren....gibt es da eine kompaktere/besser Lösung?

Was ist daran aufwändig? Das ist Code, den man ohne nachzudenken in Sekundenbruchteilen getippt hat.
Man loggt übrigens nicht nur Fehler, sondern nahezu ALLES. Im Produktiv-Betrieb schreibt man natürlich nicht alles in die Log-Files, aber man könnte es in Fällen wie z.B. diesem jetzt.

Gewöhn dir einfach mögichst früh Prinzipien an, die so etwas abdecken. Beispielsweise: Es wird niemals eine Funktion eingecheckt, in der keine Logs geschrieben werden. Und niemals heißt dann wirklich niemals. Zeitdruck ist z.B. auch keine Ausrede, denn es ist ganz einfach ein Trugschluss, dass man durch undiszipliniertes Verhalten Zeit spart. Wie du ja jetzt auch merkst..
 

stg

Top Contributor
Man muss es nicht jede Exception loggen, sondern eben dort wo es Sinn macht

Doch, und nicht nur die Exceptions. (siehe mein vorheriger Beitrag. Das kann man eigentlich nicht vehement genug verteidigen! :) )
Im Produktiv-Betrieb verzichtet man dann einfach darauf alles "nicht schwerwiegende" tatsächlich in die log-Files zu schreiben.
 

thecain

Top Contributor
Ein jdk muss man nicht installieren (Deswegen mein "/einrichten". Batch File, Jar Datei, jdk. In ein Zip packen und in der Batch alles korrekt aufrufen mit dem process, dann dem "kunden" sagen er soll das log schicken.
 

JUNIT200

Mitglied
So was ich interessant finde ist....ich habe die Anwendung von lokal von Eclipse aus gestartet. Es läuft ohne Problem. Das Programm greift auf meinen lokalen Datenbankserver. Bei der externen Anwendung liegt es auf dem JBOSS Server und die Datenbank ist auf einem Datenbankserver....

Irgendwie komisch....
 

JStein52

Top Contributor
Ich kann mich nur wiederholen: Logging. Da das Problem ja inzwischen scheinbar eingegrenzt und reproduzierbar ist kann das ja nicht sooo schwer sein.
 

Ähnliche Java Themen

Neue Themen


Oben