Posso dire al debugger degli script di Chrome di ignorare jquery.js?


98

C'è un modo per dire al debugger di Chrome (o forse a Firebug?) Di non rompersi all'interno di determinati file? Per presumere che non siano rotti, essenzialmente? Sembra qualcosa in cui potrebbero costruire.


3
Ciò mi sarebbe particolarmente utile nel contesto di eventi jquery. Quando viene attivato un evento, devi passare attraverso un sacco di rozze per capire quali gestori vengono invocati.
tofarr

Sembra che dovresti contrassegnare jfriend00 come risposta. Non sono riuscito a trovare il motivo di quel comportamento fastidioso e la sua risposta lo ha risolto.
OrPaz

@OrPaz Non sono d'accordo, il mio problema (e la mia comprensione del problema di Josh) è che stiamo eseguendo il debug del nostro file, tuttavia questo non significa che venga generata un'eccezione. La mia ipotesi è che il mio codice sia il problema e non quello di jQuery, quindi non voglio mai eseguire il debug di jQuery. Penso ad esso come il DebuggerHiddenAttribute in .NET
Nathan Koop

Ho votato a favore della risposta di jfriend00, perché potrebbe essere utile per le persone che incontrano questa domanda, ma non l'ho contrassegnata come risposta corretta, perché Nathan Koop ha ragione, non risolve il mio problema.
Josh Schultz

Risposte:


47

È ora possibile creare file JS blackbox in Firefox https://developer.mozilla.org/en-US/docs/Tools/Debugger

E in Chrome Canary utilizzando strumenti di sviluppo sperimentale. http://www.divshot.com/blog/tips-and-tricks/ignoring-library-code-while-debugging-in-chrome/

Aggiorna . In Chrome v. 75 è presente una scheda separabe per la blackbox .

Sopra funziona anche nella build stabile di Chrome ora.


7
Il blackboxing non sembra far saltare il file al debugger. Continuerà a passare attraverso le sue chiamate di funzione ... Ignorare completamente un file sarebbe carino.
Antonio Brandao

4
Questo è il punto nel blackboxing: eseguire il codice senza vederne il contenuto.
Diynevala

1
Non è blackbox quando semplicemente non passi attraverso le altre biblioteche, non che non esistono o non vengono utilizzate.
johnny


31

L'ultima versione di Chrome ha implementato una nuova funzione blackbox che fa esattamente quello che stai cercando. Fondamentalmente, quando imposti l'opzione blackbox su un determinato file, impedirà al debugger di Chrome di penetrare in quel file.

Questa funzionalità è incorporata e può essere impostata con il menu contestuale del file (clic destro). Funzionerà anche se il debugger di Chrome è impostato per l'arresto in tutte le eccezioni.


2
Soluzione molto pulita Nessun plug-in necessario.
George Botros

3
Purtroppo non funziona più. Se hai selezionato "Pause On Caught Exceptions" e poi blackbox jQuery si interromperà comunque per le eccezioni.
blackmamba

15

Se il problema che stai riscontrando è che il debugger di Chrome si arresta su tutte le eccezioni, anche quelle all'interno di jQuery, potresti dover dire a Chrome di mettere in pausa solo le eccezioni non rilevate, non tutte le eccezioni. Quando nel pannello Script nel debugger, c'è un'icona nell'angolo in basso a sinistra della finestra che lo controlla.


Mi ha salvato con questo! Grazie! (+ 1)
OrPaz

12

In Chrome, apri Strumenti per sviluppatori, quindi vai a Impostazioni e vedrai la scheda Blackbox :

Blackbox cromato

In FireFox è ancora più semplice, basta fare clic sull'occhio nella parte inferiore del file:

FireFox Blackbox


Hai appena reso la mia vita un paradiso! Grazie!
Non so

7
  1. Vai alle impostazioni degli strumenti per sviluppatori e fai clic sulla scheda Balckboxing nel pannello di sinistra.
  2. Quindi fare clic sul pulsante Aggiungi motivo e digitare jquery.js
  3. Chiudi e riapri gli strumenti per sviluppatori, ora è saltato!

2

Se il debugger sta esplodendo da qualche parte nei file jQuery, potresti potenzialmente racchiudere le chiamate sospette in un try / catch e quindi generare un errore nel tuo catch. In questo modo, puoi isolare esattamente dove stai andando storto.

Sarei più propenso a fare analisi dello stack per vedere perché il mio codice sta esplodendo, ad esempio JSON non valido, piuttosto che provare a sorvolare su di esso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.