2016-07-11 7 views
9

Ich sehe merkwürdiges Verhalten von Chrome Devtools. Ich setze einen Haltepunkt in meinem Javascript, dann schlägt der Haltepunkt und die Ausführung stoppt.Chrome Webtools-Debugger nimmt die Skriptausführung selbstständig wieder auf

Das Codefenster zeigt den Punkt in meinem Code, wo der Haltepunkt ist (das Fenster hat eine gelbliche Hintergrundfarbe) und nach 5 Sekunden wird die Ausführung automatisch wieder aufgenommen, ohne dass ich es sagen muss.

Hat jemand anderes das schon mal gesehen? Es macht mir das Debuggen natürlich sehr schwer.

BEARBEITEN: Dies ist Chrome remote Debuggen einer Android WebView-Anwendung. Ich habe es versäumt, das im ursprünglichen Beitrag zu erwähnen.

Ich habe eine Sitzung aufgezeichnet, wo ich eine Seite neu laden, nachdem ich 3 Haltepunkte gesetzt habe. Ich habe die Tastatur oder die Maus nicht berührt, nachdem ich die Seite neu geladen habe. Sie können sehen, dass Chrome automatisch here wiederaufnimmt. (Entschuldigung für den Offsite-Link) In diesem Fall wurde der Hintergrund des JS-Fensters für eine bestimmte Instanz nicht gelb.

Dank

+0

Screenshot? Diese Frage ist technisch nicht von Bedeutung, da sie nicht reproduzierbar ist. –

+0

Könnte eine dumme Frage sein, aber geschieht dies in reinem Chrom/ohne Erweiterungen aktiviert? –

+0

Das Video hat wirklich geholfen. Was passiert, wenn Sie versuchen, den verdächtigen Code mit einem try/catch-Block zu umhüllen und einen möglichen Fehler zu protokollieren? Ich bin wirklich unwohl mit der Idee, dass Chrome dieses Problem verursacht. Versuchen Sie, jeden Fehler zu protokollieren, und wenn es keine gibt, legen Sie einen "Debugger"; Anweisung in einem anderen Teil des Codes. Dann können wir herausfinden, ob es Chrome ist oder nicht. – n0m4d

Antwort

6

ich endlich herausgefunden, was der Debugger in 'auto continue' Modus gehen verursacht wurde. Meine Android-App verwendete die WebView-loadUrl-API von Android, um einige JS auf der Seite auszuführen. Es war auf einem Timer in die JS mit diesem Aufruf alle 5 Sekunden Aufruf:

webView.loadUrl("javascript:" + callBack + "('" + cbData.toString() + "');"); 

, die scheinbar Chrome bewirkt die Ausführung wieder aufnehmen, so dass es den JS-Code ausführen kann die App anfordert.

Ich bin enttäuscht, dass es so lange gedauert hat, bis ich das aufgespürt habe.

Macht das JS Debugging ein wenig schwierig, IMO, wenn die Laufzeit jederzeit auf Sie zum Start entscheidet ...

Ich werde einige der Forschung tun und sehen, ob ich etwas über dieses auf den Googles finden .