Tilo Roeder: Javascript-Fehler "debuggen"

Hallo zusammen,
folgendes Problem: Ich schreibe gerade Seiten (ASP und HTML) speziell angepasst auf IE, die auch JavaScript enthalten. Wenn nun im IE ein JavaScript-Fehler auftritt steht erscheint in der Statuszeile ja diese Ausriufezeichen und Fehler. Beim Doppelklick darauf erhalte ich dann das Fenster mit weiteren infos: Zeile xyz und welcher Fehler. Jedoch ist die angegebene Zeile völliger Blödsinn, da 1. die Seite dynamisch mit ASP erstellt wird und 2. noch JavaScript-Funktionen aus anedren dateien "Included" sind. Wie kann ich herausfinden, welche Stelle denn nun angemeckert wird, bzw. welche erweiterten "Debug"-Möglichkeiten gibt es?
Schon mal danke für alle Tipps,
Tilo

  1. Wie kann ich herausfinden, welche Stelle denn nun angemeckert wird, bzw. welche erweiterten "Debug"-Möglichkeiten gibt es?

    Hallo,
    probier doch mal "Quelltext" aus dem Menü "Ansicht". Das ganze kopierst Du dann in einen Editor der Zeilennummern anzeigen kann.
    Leider treffen die Fehlertexte nicht immer 100% zu und die Zeilenangaben stimmen auch nicht richtig. Normalerweise empfehle ich zur Fehlersuche immer Netscape, der hat eine brauchbare Javascript-Console.

    Uwe

    1. Hallo,

      ansonsten einfach mal den entstandenen scriptcode durchsuchen

      bei der autom. generierung sind fehlende " oder ' oder ; ein häufig gemachter fehler...

      Odium

    2. ...

      probier doch mal "Quelltext" aus dem Menü "Ansicht". Das ganze kopierst Du dann in einen Editor der Zeilennummern anzeigen kann.

      Das hab ich schon versucht, jedoch hilft dies nicht bei extern "includeten" JS-Dateien, diese Werden in Ansicht-Quelltext nicht angezeigt,s cheinbar aber in der Ermittlung der Zeilennummer des Fehlers. Somit hilft es mir auch nicht weiter.

      Tilo

  2. Also ich mache es so, dass wenn ich ein grösseres javascript habe zuerst einmal die funktion such in der was nicht funktioniert. das mache ich indem ich einfach alles mit einem kommentar umschließe (/* */) und den code dann funktion für funktion freigeben. Man kann um sicher zu sein auch noch in jede funktion eine alert schreiben zB:alert("Funktion XYZ funktioniert");

    So gehst du einfach solange vor bis sich nichts mehr tut dann hast du (meistens) den fehler. Oft ist es auch so dass es schon reicht wenn man sich die letzen änderungen ansieht, da (wenn es vorher problemlos funktionierte) dort der fehler liegen muss. Dann einfach alle ifs etc auskommentieren und der reihe nach freigeben bis man weiss was nicht funktioniert.

    Ich gebe zu, dass das recht lange dauern kann, aber bis jezt hat es noch immer funktioniert....

    btw, IE debugger zeigt immer nur die zeile an in der sich der fehler auswirkt, nicht den fehler.

    gruß,

    Severin

  3. Hallo zusammen,
    folgendes Problem: Ich schreibe gerade Seiten (ASP und HTML) speziell angepasst auf IE, die auch JavaScript enthalten. Wenn nun im IE ein JavaScript-Fehler auftritt steht erscheint in der Statuszeile ja diese Ausriufezeichen und Fehler. Beim Doppelklick darauf erhalte ich dann das Fenster mit weiteren infos: Zeile xyz und welcher Fehler. Jedoch ist die angegebene Zeile völliger Blödsinn, da 1. die Seite dynamisch mit ASP erstellt wird und 2. noch JavaScript-Funktionen aus anedren dateien "Included" sind. Wie kann ich herausfinden, welche Stelle denn nun angemeckert wird, bzw. welche erweiterten "Debug"-Möglichkeiten gibt es?

    Netscape/Mozilla benutzen.
    Die zeigen wesentlich genauer die Fehler an.

    Struppi.