2016-07-11 35 views
9

Visualizzo strani comportamenti da Chrome devtools. Ho impostato un punto di interruzione nella mia javascript, quindi il punto di interruzione si interrompe e l'esecuzione si interrompe.Il debugger di webtools di Chrome riprende l'esecuzione dello script da solo

La finestra di codice mostra il punto nel mio codice in cui si trova il punto di interruzione (la finestra ha un colore di sfondo giallastro) e poi dopo 5 secondi l'esecuzione riprende automaticamente magicamente senza che me lo dica.

Qualcun altro l'ha visto prima? Ovviamente è molto difficile per me eseguire il debug.

MODIFICA: si tratta di Chrome che esegue il debug remoto di un'applicazione Android WebView. Ho omesso di menzionarlo nel post originale.

Ho registrato una sessione in cui ricarico una pagina dopo aver impostato 3 punti di interruzione. Non ho toccato la tastiera o il mouse dopo aver ricaricato la pagina. Puoi vedere che Chrome riprende automaticamente here. (Ci scusiamo per il collegamento offsite) In questo caso lo sfondo della finestra JS non è diventato giallo per qualche istanza.

Grazie

+0

Screenshot? Questa domanda è tecnicamente fuori tema perché non è riproducibile. –

+0

Potrebbe essere una domanda stupida, ma ciò accade in semplice Chrome Chrome/senza estensioni abilitate? –

+0

Il video ha davvero aiutato. Guarda, cosa succede se provi a racchiudere il codice sospetto con un blocco try/catch e prova a registrare ogni possibile errore? Sono davvero a disagio con l'idea che Chrome stia causando questo problema. Prova a registrare qualsiasi errore e, se non ce ne sono, posiziona un "debugger"; istruzione in un'altra parte del codice. Quindi possiamo scoprire se è Chrome o no. – n0m4d

risposta

6

ho finalmente capito che cosa stava causando il debugger di andare in 'auto continuare' modalità. La mia app per Android utilizzava l'API loadUrl di WebView di Android per eseguire alcuni JS sulla pagina. Era su un timer chiamando in JS ogni 5 secondi con questo invito:

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

che a quanto pare fa sì che Chrome per riprendere l'esecuzione in modo che possa eseguire il codice JS l'applicazione richiede.

Sono deluso che ci sia voluto così tanto tempo per rintracciarlo.

Rende il debug del JS un po 'difficile IMO se in qualsiasi momento il runtime decide di avvio su di voi ...

ho intenzione di fare qualche ricerca e vedere se riesco a trovare niente di questo sulle Googles .

Problemi correlati