764 Stimmen

Wie setzt man einen JavaScript-Haltepunkt aus dem Code in Chrome?

Ich möchte den Chrome-Debugger dazu zwingen, in einer Zeile abzubrechen über Code oder eine Art von Kommentar-Tag verwenden, wie z. B. console.break() .

1274voto

xn. Punkte 15308

Sie können verwenden debugger; innerhalb Ihres Codes. Wenn die Entwicklerkonsole geöffnet ist, wird die Ausführung unterbrochen. Es funktioniert in Firebug als gut.

36voto

Protector one Punkte 6304

Sie können auch Folgendes verwenden debug(function) zu brechen, wenn function genannt wird.

Befehlszeilen-API-Referenz: debug

27voto

martynas Punkte 11844

Richten Sie einen Button-Click-Listener ein und rufen Sie die debugger;

Beispiel

$("#myBtn").click(function() {
 debugger;   
});

Demo

http://jsfiddle.net/hBCH5/

Ressourcen zur Fehlersuche in JavaScript

15voto

Andrija Punkte 13043

Wie andere bereits gesagt haben, debugger; ist der richtige Weg. Ich habe ein kleines Skript geschrieben, das Sie über die Befehlszeile in einem Browser verwenden können, um einen Haltepunkt direkt vor einem Funktionsaufruf zu setzen und zu entfernen: http://andrijac.github.io/blog/2014/01/31/javascript-breakpoint/

9voto

debugger ist ein reserviertes Schlüsselwort von EcmaScript und hat seit ES5 eine optionale Semantik

Daher kann es nicht nur in Chrome, sondern auch in Firefox und Node.js verwendet werden. über node debug myscript.js .

があります。 Standard sagt :

Syntax

DebuggerStatement :
    debugger ;

Semantik

Die Auswertung der DebuggerStatement-Produktion kann es einer Implementierung ermöglichen, einen Haltepunkt zu verursachen, wenn sie unter einem Debugger ausgeführt wird. Wenn ein Debugger nicht vorhanden oder aktiv ist, hat diese Anweisung keine erkennbare Wirkung.

Die Produktion DebuggerStatement : debugger ; wird wie folgt ausgewertet:

  1. Wenn eine durch die Implementierung definierte Debugging-Funktion verfügbar und aktiviert ist, dann
    1. Ausführen einer durch die Implementierung definierten Debugging-Aktion.
    2. Das Ergebnis sei ein durch die Implementierung definierter Abschlusswert.
  2. Sonst
    1. Das Ergebnis sei (normal, leer, leer).
  3. Ergebnis zurückgeben.

Keine Änderungen in ES6.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X