Danny Lupo: Benötige Javascript-Debugger

Hallo!

Ich programmiere schon einige Zeit u.a. auch mit Javascript.
Nur habe ich im bis jetzt noch keinen Debugger, was mir die Arbeit doch sehr ersparen könnte. (Nichts ist schlimmer, als in einer Datei nach einem winzigen Fehler zu suchen)

Deswegen meine Frage:
Kennt ihr einen guten Javascript-Debugger (mit Zeilenangabe und richtiger Fehlerkategorisierung)??

Danke schonmal im Voraus, Euer Danny.

  1. http://www.geocities.com/~jmkproductions/
    ist leider nur ne trial, vielleicht kann man das ja durch deinstallieren und neuinstalliren umgehen, hab ich aber noch nicht ausprobiert.

    1. http://www.geocities.com/~jmkproductions/
      ist leider nur ne trial, vielleicht kann man das ja durch deinstallieren und neuinstalliren umgehen, hab ich aber noch nicht ausprobiert.

      hmm.. javascript ist doch von netscape.. schau auf deren homepage vielleicht mal nach...

      1. http://www.geocities.com/~jmkproductions/

        gibts bei mir nicht. Wie heißt das Produkt?

        1. tschuldigung
          hier der richtige link, hatte mich in der zeile vertan
          http://www.ravencrypt.com/prod/download.htm

          1. hier der richtige link,

            Thx. Werd ich mir mal anschauen.

          2. http://www.ravencrypt.com/prod/download.htm

            Meiner Meinung nach ist das ein einfacher HTML-Editor.
            Wo ist denn da der Debugger?

  2. Moin!

    Kennt ihr einen guten Javascript-Debugger (mit Zeilenangabe und richtiger Fehlerkategorisierung)??

    Ein guter Debugger ist in Netscape (4, 6, 7 - egal) eingebaut.

    Ansonsten: Jeder Browser erzählt dir, wenn du ihn zur Ausgabe der Fehlermeldung bewegst, in welcher Zeile er Probleme hat. Das ist manchmal eher unspektakulär (beim IE), oder sehr ausführlich (wie eben beim Netscape, aber auch in Opera).

    Ich habe jedenfalls noch nie das Verlangen verspürt, noch einen _Extra_-Debugger zu benutzen. So ein Programm entfernt ja, obwohl der Name es hoffen ließe, nicht selbständig die Fehler - man muß immer noch selbst denken. Und viele Fehler in Programmen sind auch keine Syntax-Fehler, die man recht schnell entdecken und beseitigen kann, sondern logische Fehler, bei denen zwar keine Fehlermeldung kommt, die aber dafür sorgen, dass das Programm einfach nicht das tut, was es soll.

    Bei sowas hilft immer das Einstreuen von alert()-Ausgaben, damit man weiß, welche Variableninhalte wirklich vorliegen und wohin im Programm gesprungen wird.

    - Sven Rautenberg

    --
    "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
    1. Ein guter Debugger ist in Netscape (4, 6, 7 - egal) eingebaut.

      Meine beiden Versionen von Netscape scheinen in dieser Hinsicht mir nichts Gutes tun zu wollen. Habe ich noch nie hingekommen, dass der mir weiterhilft.

      Ansonsten: Jeder Browser erzählt dir, wenn du ihn zur Ausgabe der Fehlermeldung bewegst, in welcher Zeile er Probleme hat. Das ist manchmal eher unspektakulär (beim IE), oder sehr ausführlich (wie eben beim Netscape, aber auch in Opera).

      Spätenstens wenn ich verschachtelte Funktionen aufrufe, weiß ich mit der Zeilenangabe nichts mehr anzufangen. Z.B. das fehlende Semikolon reklamiert er meistens auch an falscher Stelle.

      Ich habe jedenfalls noch nie das Verlangen verspürt, noch einen _Extra_-Debugger zu benutzen. So ein Programm entfernt ja, obwohl der Name es hoffen ließe, nicht selbständig die Fehler - man muß immer noch selbst denken.

      *g. Das war mir durchaus bewusst.

      Und viele Fehler in Programmen sind auch keine Syntax-Fehler, die man recht schnell entdecken und beseitigen kann, sondern logische Fehler, bei denen zwar keine Fehlermeldung kommt, die aber dafür sorgen, dass das Programm einfach nicht das tut, was es soll.

      Logische Fehler habe ich selten. Der Hauptteil meiner Fehler sind Flüchtigkeitsfehler. Attribut vergessen, Zeichen vergessen, Groß-Kleinschreibung, etc.

      Bei sowas hilft immer das Einstreuen von alert()-Ausgaben, damit man weiß, welche Variableninhalte wirklich vorliegen und wohin im Programm gesprungen wird.

      Das ist ein durchaus praktischer Tipp, den ich vielleicht zu wenig gebrauche.
        Greetz, der Danny.

      1. Moin!

        Ansonsten: Jeder Browser erzählt dir, wenn du ihn zur Ausgabe der Fehlermeldung bewegst, in welcher Zeile er Probleme hat. Das ist manchmal eher unspektakulär (beim IE), oder sehr ausführlich (wie eben beim Netscape, aber auch in Opera).

        Spätenstens wenn ich verschachtelte Funktionen aufrufe, weiß ich mit der Zeilenangabe nichts mehr anzufangen. Z.B. das fehlende Semikolon reklamiert er meistens auch an falscher Stelle.

        Das liegt einfach daran, dass er (und auch jeder andere Debugger) den Code von oben nach unten durchliest. Bis zu der Stelle, an der er das Semikolon vermißt, ist auch alles OK.

        Kein Debugger der Welt wird dir da weiterhelfen können. Wenn ein Semikolon an einer bestimmten Stelle als fehlend gemeldet wird, dann ergab der Code bis zu dieser Stelle Sinn - vielleicht nicht den Sinn, den du programmieren wolltest, aber irgendeinen Sinn. Deshalb: "Fehlende Semikolon"-Fehler decken nicht nur fehlende Semikolons an der entsprechenden Stelle auf, sondern auch fehlende Semikolons an anderen, vorherigen Stellen. Und möglicherweise noch eine ganze Gruppe von weiteren Fehlern, die alle nur scheinbar Semikolons fehlen lassen.

        Ein Debugger kann dir da aber rein formal gar nicht weiterhelfen. Er wird nicht die exakte Position des fehlenden Semikolons entdecken können, weil auch er sich an die Regeln halten muß, die für die Sprache "Javascript" festgelegt sind. Genauso wie die Javascript-Interpreter der verschiedenen Browser. Das Ergebnis _muß_ identisch sein, ansonsten hätte Javascript ein Problem.

        - Sven Rautenberg

        --
        "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
  3. Hi!

    Es gibt einen richtigen Debugger und der ist gratis bei Netscape7/Mozilla dabei, und damit meine ich nicht die eigentlich ausreichende Javascript-Console sondern Venkman. Artikel hierzu: http://devedge.netscape.com/viewsource/2002/venkman/01/
    Meiner Meinung braucht man den bei durchschnittlichen Javascriptwebanwendungen nicht, aber du kannst dirch gerne in dieses Monster einarbeiten.

    Gruß Herbalizer

    --
    SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
    sh:( fo:) ch:? rl:( br:> n4:& ie:% mo:} va:} de:] zu:) fl:{ ss:) ls:& js:|