Wenn Sie einen Haltepunkt in einer Zeile festlegen, die keinen ausführbaren Code enthält, versucht der Debugger, hilfreich zu sein und den Haltepunkt auf die nächste Zeile mit ausführbarem Code zu verschieben. Dies ist nicht so einfach wie es scheint, da es möglich ist, Breakpoints für Scripts zu setzen, die bereits in Garbage Collections gesammelt wurden. Der Debugger kann also nicht immer feststellen, ob eine Zeile keinen ausführbaren Code enthält oder ob das entsprechende Script gerade verschrottet wurde .
Das Problem ist noch komplizierter, wenn Quellkarten beteiligt sind, da der Debugger herausfinden muss, welche Zeilen in der ursprünglichen Quelle der Zeile in der generierten Quelle entsprechen, auf der Sie den Haltepunkt setzen. Die Art und Weise, wie wir dies derzeit tun, ist nicht immer korrekt, was zu Problemen wie dem, das Sie sehen, führen kann.
Das heißt, es gibt andere Dinge, die erklären könnten, warum Ihre Breakpoints nicht so funktionieren, wie sie sollten. Zum Beispiel müssen wir Haltepunktpositionen auch Bytecode-Offsets zuordnen, was ebenfalls nicht immer genau erfolgt.
Wir sind gerade dabei, den Breakpoint-Code im Debugger aktiv zu refactorisieren, um diese Probleme zu lösen. Ich wäre also nicht überrascht, wenn Sie auf eine Regression stoßen würden. Am besten wäre es, einen Bug in Bugzilla für das Problem zu erstellen, idealerweise mit Schritten zur Reproduktion.
Hoffe, dass hilft!
Beeinflussen Firebug und die Firefox Developer Edition einander? I.e. Wird Firebug die integrierten Dev Tools ersetzen? Hat das andere Implikationen? – Stephan
Nur Firebug installiert. Es sieht so aus, als ob es die integrierten Entwicklerwerkzeuge ersetzt.Ich habe jedoch das gleiche Verhalten bezüglich der Breakpoints, also werde ich Firebug wieder entfernen. – Stephan