2012-06-14 5 views
13

A volte quando eseguo il debug di alcuni JavaScript in Chrome e il javascript è in pausa, se provo a ricaricare la pagina, Chrome invece "continua" il debugger, al prossimo punto di rottura.Il debugger JavaScript di Chrome, in pausa, non ricarica la pagina

Non sembra esserci alcun modo per forzare il javascript a smettere di funzionare completamente, e lasciare che cromo ricarichi solo la pagina. Ogni volta che si preme -R o si fa clic sul pulsante di ricarica, si passa semplicemente al punto di interruzione successivo.

La mia soluzione make-shift in questo momento è quello di

  1. copiare la barra degli indirizzi URL
  2. vicino che scheda
  3. aprire una nuova scheda
  4. e quindi aprire l'URL nella nuova scheda.

Questo è piuttosto forza bruta ma è l'unico modo in cui ottengo Chrome per caricare effettivamente una nuova copia di quella pagina, invece di continuare solo quella esistente in esecuzione. Lo svuotamento della cache non ha alcun effetto perché non sta nemmeno tentando di ricaricare la pagina.

p.s. Inoltre noto che non esiste un pulsante "stop" per il debugger javascript. Come faccio a dire a Chrome di smettere di eseguire il javascript, non c'è bisogno di continuare. Gli unici controlli sono "continua", "step-over", "step-in", "step-out". Come mai non c'è "stop" o "cancella".

risposta

7

Quando voglio fare questo chiudo il debugger (lasciando che gli script finiscano in esecuzione), quindi riaprilo e premi refresh.

+0

Se ricordo, chiudere la finestra del debugger e ricaricare ha funzionato. – DragonFax

+1

come è ancora un problema !!! – jozxyqk

+0

Questo presuppone che gli script finiranno-capire il motivo per cui gli script non stanno finendo (ad esempio cicli infiniti, processi costosi, ecc.) Sono probabilmente esattamente ciò che stai cercando di eseguire il debug se ti trovi nella situazione descritta nella domanda! – yasashiku

2

si può solo disattivare tutti i punti di interruzione, ricaricare la pagina, e riattivarli, il suo l'ultimo pulsante (il quinto a partire dal pausa)

Google Chromes debugger è incredibile, ma non è come gdb dove puoi solo avviarlo o ucciderlo, sebbene tu possa abilitarlo/disabilitarlo richiamando gli strumenti di sviluppo, pensarlo più come un monitor o un gestore per l'interprete, dal momento che JS per la maggior parte è sempre in esecuzione o in esecuzione quando JS necessita per essere analizzato, lo debugger interagisce semplicemente con l'interprete, questo è il modo in cui ho interpretato, se ho torto mi scuso.

+0

Entrambe le buone risposte sono buone, ma Dbaseman era direttamente al punto con una semplice soluzione rapida. – DragonFax

+0

nessun problema, ho dovuto farlo più volte, dirò che il debugger è di gran lunga uno dei migliori e mi ha salvato la vita così tante volte, ho voglia di comprare i ragazzi che hanno sviluppato un po 'di birra. –

-4

Google Chrome debugger non si spegne, MAI. Una volta ho creato 1 punto di interruzione, ma ora non ci sono punti di interruzione ma è ancora in pausa e non vi è alcun punto di interruzione in cui è stato messo in pausa. Consiglio vivamente di non utilizzare affatto il debugger, se lo hai fatto, basta disinstallare chrome e reinstallare e non impostare mai alcun breakpoint.

3

Ho trovato che il problema che mi stava causando era che avevo accidentalmente premuto un pulsante in basso a sinistra su "pause on JavaScript exceptions". Era blu - ho cliccato due volte per riportarlo in grigio, e il debugger ha smesso di fermarsi del tutto.

0

Se si desidera interrompere effettivamente tutte le attività nella scheda senza effettivamente chiuderla o la finestra degli strumenti di sviluppo, è possibile forzarla in "Aw, snap!" stato (con un pratico pulsante di ricarica) tramite Task Manager di Chrome (Altri strumenti -> Task Manager, selezionare la scheda, premere "Termina processo").

In questo modo è possibile ricaricare la scheda immediatamente senza attendere il completamento di tutti gli script. E la finestra degli strumenti per sviluppatori si ricollegherà automaticamente quando si preme il refresh.

Problemi correlati