Debugging in Elipse



  • <werbung>
    Eigentlich sollte jede IDE so eine Schnittstelle zum remote debugging haben ist ja schließlich Standard. Letzens hat ein Kollege Versucht das mit dem JBuilder Enterprise zum laufen zu bekommen, nach 1 Woche und 2 Supportanfragen lief das Teil immer noch nicht richtig. Braucht für jeden AppServer ein eigenes Plugin und jede Menge manuelle Einstellungen. Da sind die 3000€ für die JBuilder lizenz bestens angelegt 🙂 Da lob ich mir doch mein Eclipse
    </werbung>


  • Mod

    [werbung]
    BTW : Ich wollte mich auch nochmal so ganz nebenbei zu Eclipse bekennen. Ich nutze diese IDE zwar erst seit kurzer Zeit, sie gefällt mir aber jetzt schon sehr gut.
    [/werbung]
    🙂



  • Original erstellt von Gregor:
    Wie stark nutzt ihr Möglichkeiten zum Debuggen? Welche Möglichkeiten nutzt ihr, wie debuggt ihr?

    Unterschiedlich. Ich arbeite überwiegend mit AppServern da kann remote debugging teilweise 'ne Menge Zeit sparen. Beispielsweise wird im aktuellen Projekt so'n AppServer von Sybase verwendet da ist das deployen recht zeitaufwendig. Wenn man eine Code-Änderung macht muss man ein Web-Archiv erstellen, dann mit Hilfe eines Managers diese Archiv im Server laden und anschließend den Server refreshen.

    Wenn ich 'ne Aussagekräftige Fehlermeldung bekommen kann ich das auch so fixen und wieder neu deployen. Wenn ich aber nicht sicher bin spring ich per debugger an die entsprechende stelle und kann denn Fehler recht schnell finden, ist besser als zig mal nach vermutungen Codestellen zu ändern, wieder verwerfen und neu deployen.

    O'Dog


  • Mod

    Hmmm... Ich nutze eigentlich ziemlich wenig Debugging-Möglichkeiten. Bei mir treten folgende Fehler auf:

    • Code kompiliert nicht. -> Hier reichen mir die Fehlermeldungen meistens aus, um den Fehler in kürzester Zeit zu finden. (meistens weniger als eine Minute)
    • Beim Ausführen des Programms wird eine Exception geschmissen. -> Hier dauert es schon etwas länger. Meistens kann man aber mit der Fehlermeldung den Ort, an dem der Fehler auftritt, sehr schnell und auch recht genau bestimmen. Da dauert es meistens ein paar Minuten, bis ich den Fehler behoben habe.
    • Es fällt mir sofort auf, dass der Code nicht zum gewünschten Resultat führt. -> Hier dauert es oft sehr lange, bis ich den Fehler finde. Oft kann ich den Ort, an dem der Fehler auftritt nur auf 100 Codezeilen oder so genau bestimmen. Es wäre hier angebracht, einen Debugger zu nutzen, das mache ich aber meistens nicht. Manchmal schreibe ich hier den entsprechenden Code neu oder teilweise neu. Ich bin mir hier oft nicht darüber im Klaren, wie ich einen Debugger anwenden kann. Die Zwischenergebnisse sind hier auch oft so kompliziert, dass ich sie nicht von Hand nachprüfen kann oder möchte.
    • Ich mache etwas ganz anderes und plötzlich fällt mir ein, dass der Algorithmus, den ich vor ner Woche oder so implementiert habe, eigentlich fehlerhaft sein müßte. -> Der Fehler ist hier natürlich wieder recht schnell zu finden.

    Bei den letzten beiden Fehlerarten dauert es meistens länger, den Fehler zu beheben.



  • @O'Dog: Danke für die ausfürliche Hilfe. Die Parameter kannte ich auch schon, aber wußte nichtr was sie alle bedeuten. Mir ging es eher darum zu wissen, was man unter Eclipse noch während des Debuggens für Möglichkeiten hat, denn das ist nicht so selbsterklärend. Wir Debuggen bei uns des öfteren auf AppServern, aber schon das mit dem Variablen erkennen ist unter Eclipse meines Erachtens nicht trivial. Es gibt außerdem noch diverse Registerreiter die ich gerne mal genau erklärt bekommen würde.

    @Gregor: Wie schon oben erwähnt debuggen wir sehr oft, da es meist schneller geht, da wir sehr viele Komponenten haben und diese sonst immer neu bauen müssen, deployen, AppServer neu starten usw.
    Wir bauen aber auch oft Ausgaben ein, wenn wir mit den Fehlertexten nicht so viel anfgangen können (und das ist oft der Fall). Deswegen ist es für mich wichtig die Debugmöglichkeiten von Eclipse voll auszureizen.

    [ Dieser Beitrag wurde am 23.01.2003 um 17:15 Uhr von Gamba editiert. ]



  • Hallo Gregor,

    dein Beitrag verwundert mich ein wenig.
    Denn ich sehe den Debugger als eine super möglichkeit
    meinen Code zu testen.

    Durch das setzen verschiedener varbiablen Werte hat mann tolle Möglichkeiten
    verschiedene Szenarien in kurzer Zeit durchzuspielen.
    Mir passierts noch oft das betimmte Dinge einfach nicht beachtet
    wurden was sich dann gerade bei der nachprüfung im Detail im Debugger
    zeigt.

    Zudem programmiere ich teilweise mit Debugger an (sobald es sich um einen
    komplizierten Algorythmus in einer Methode handelt.
    Ich kann so gleich testen, ob meine Gedankengänge nicht etwas wirr sind 😉
    und unbedachtete Dinge passieren.

    Seit ich so programmiere haben sich viele Logic Fehler vermeiden lassen.
    Damit Debugge ich teile der Anwendung dann wenn ich meinen eigenen Code
    am besten überschauen kann (kurz nach dem entwickeln).


  • Mod

    Original erstellt von HolyFly:
    **Hallo Gregor,

    dein Beitrag verwundert mich ein wenig.
    Denn ich sehe den Debugger als eine super möglichkeit
    meinen Code zu testen.

    Durch das setzen verschiedener varbiablen Werte hat mann tolle Möglichkeiten
    verschiedene Szenarien in kurzer Zeit durchzuspielen.
    **

    Dummerweise mache ich meistens etwas mit Bildern, wenn ich programmiere. Die meisten Algorithmen, die ich schreibe, verarbeiten Bilder. Das heißt, dass die Daten, die ich verarbeite, normalerweise so komplex sind, dass ich nicht einfach nachprüfen kann, ob richtig gerechnet wurde. Ich kann so auch nicht feststellen, an welcher Stelle ein Fehler aufgetreten ist, da die Zwischenergebnisse auch sehr komplex sind. Die einfachste Möglichkeit, herauszufinden, ob ein Algorithmus bei mir richtig gearbeitet hat, ist sich das Bild am Schluss anzugucken. ...allerdings findet man so auch nicht alle Fehler.



  • Original erstellt von Gregor:
    **
    Dummerweise mache ich meistens etwas mit Bildern, wenn ich programmiere. Die meisten Algorithmen, die ich schreibe, verarbeiten Bilder. Das heißt, dass die Daten, die ich verarbeite, normalerweise so komplex sind, dass ich nicht einfach nachprüfen kann, ob richtig gerechnet wurde... Die einfachste Möglichkeit, herauszufinden, ob ein Algorithmus bei mir richtig gearbeitet hat, ist sich das Bild am Schluss anzugucken. ...**

    Stimmt, ist eine andere Anforderrung, und
    da leuchtet mir das ein, das die Zahlen die
    der Debugger auspuckt da mehr oder weniger
    "nichtssagend" sind 🙂



  • Original erstellt von HolyFly:
    Stimmt, ist eine andere Anforderrung, und
    da leuchtet mir das ein, das die Zahlen die
    der Debugger auspuckt da mehr oder weniger
    "nichtssagend" sind 🙂

    Cool HolyFly dich gibts hier auch, kennst mich?



  • Klar 🙂

    kenn doch meine Pappenheimer.
    Klar, wenn ich woanders viel
    fragen beantworten soll, muss es
    doch auch eine Location geben
    wo ich viel Fragen fragen
    kann


Anmelden zum Antworten