1

Ich arbeite an dem Debuggen des Skripts einer Seite, die ich besuche (ich möchte seine Funktionalität mit Tampermonkey ändern), und ich versuche, Haltepunkte für Code festzulegen. Dieser Code wurde verkleinert, daher habe ich auf den "prettify" -Button geklickt und kann nun stattdessen eine formatierte Version davon zum Debuggen verwenden.Chrome-Entwicklertools platziert Haltepunkt an falscher Stelle

Der erste Haltepunkt konnte in der richtigen Zeile gesetzt werden, aber der nächste Haltepunkt blieb nicht und würde stattdessen etwa hundert Zeilen weiter unten erscheinen. Dies scheint ein Bug zu sein, der die Chrome-Entwicklertools für eine Weile plagt und immer wieder Beschwerden darüber aufkommen. Wie kann ich Breakpoints setzen, wo sie gesetzt werden sollen?

ETA: Der Breakpoint kehrt an die richtige Stelle zurück, wenn er deaktiviert ist, und kehrt dann zur falschen Stelle zurück, wenn er wieder aktiviert wird.

Antwort

1

Minifier wenden verschiedene Optimierungen auf Ihren Code an, z. B. das Kombinieren von verketteten Anweisungen in einem einzelnen Ausdruck unter Verwendung der Comma Operator. Wenn Sie versuchen, in der Mitte dieses Ausdrucks zu brechen, springt der Debugger stattdessen zur nächsten Anweisung. Siehe das folgende Beispiel aus einem Skript auf dieser Seite.

Jumping breakpoint

Es gibt einige Diskussion über die Umsetzung Unterausdruck ist in Haltepunkte V8 here, aber dies wurde als der noch nicht implementiert.

Verwandte Themen