Posso dizer ao depurador de script do Chrome para ignorar jquery.js?


98

Existe uma maneira de dizer ao depurador do Chrome (ou talvez Firebug?) Para não quebrar dentro de certos arquivos? Para assumir que eles não estão quebrados, essencialmente? Isso parece algo que eles podem incorporar.


3
Isso seria particularmente útil para mim no contexto de eventos jquery. Quando um evento é disparado, você precisa passar por muito trabalho para descobrir quais manipuladores estão sendo invocados.
tofarr

Parece que você deve marcar jfriend00 como a resposta. Não consegui encontrar o motivo desse comportamento irritante e sua resposta resolveu o problema.
OrPaz

@OrPaz Eu discordo, meu problema (e meu entendimento do problema de Josh) é que estamos depurando nosso arquivo, no entanto, isso não significa que uma exceção está sendo lançada. Minha suposição é que meu código é o problema e não o do jQuery, então nunca quero depurar o jQuery. Eu penso nisso como DebuggerHiddenAttribute em .NET
Nathan Koop

Votei na resposta de jfriend00, porque pode ser valioso para as pessoas que se deparam com essa pergunta, mas não marquei como a resposta correta, porque Nathan Koop está certo, não resolve meu problema.
Josh Schultz

Respostas:


47

Arquivos JS de blackboxing agora são possíveis no Firefox https://developer.mozilla.org/en-US/docs/Tools/Debugger

E no Chrome Canary usando ferramentas Experimental Dev. http://www.divshot.com/blog/tips-and-tricks/ignoring-library-code-while-debugging-in-chrome/

Atualize . No Chrome v. 75, há uma guia separada para a caixa preta .

Acima funciona na versão estável do Chrome também agora.


7
Blackboxing não parece fazer o depurador pular o arquivo. Ele ainda passará por suas chamadas de função ... Ignorar completamente um arquivo seria bom.
Antonio Brandão

4
Esse é o ponto na caixa preta - executar o código sem ver seu conteúdo.
diynevala

1
Não é uma caixa preta quando você simplesmente não passa pelas outras bibliotecas, não que elas não existam ou não estejam sendo usadas.
johnny de


31

A versão mais recente do Chrome implementou um novo recurso de caixa preta que faz exatamente o que você está procurando. Basicamente, quando você define a opção de caixa preta em um determinado arquivo, impede que o depurador do Chrome invada esse arquivo.

Este recurso é embutido e pode ser configurado com o menu de contexto do arquivo (clique com o botão direito). Também funcionará se o depurador do Chrome estiver definido para parar em todas as exceções.


2
Solução muito limpa Não são necessários plug-ins.
George Botros

3
Não funciona mais, infelizmente. Se você tiver "Pausar em exceções detectadas" e marcar a caixa preta do jQuery, ele ainda interromperá as exceções.
blackmamba

15

Se o problema que você está tendo é que o depurador do Chrome está parando em todas as exceções, mesmo aquelas dentro do jQuery, você pode precisar dizer ao Chrome para pausar apenas nas exceções não detectadas, não em todas as exceções. Quando no painel Script do depurador, há um ícone no canto esquerdo inferior da janela que o controla.


Me salvou com isso! Obrigado! (+ 1)
OrPaz

12

No Chrome, abra as Ferramentas do desenvolvedor, vá para Configurações e você verá a guia Caixa preta :

Chrome Blackbox

No FireFox é ainda mais fácil, basta clicar no Olho na parte inferior do arquivo:

FireFox Blackbox


Você acabou de fazer da minha vida o paraíso! Obrigado!
Não sei

7
  1. Vá para a configuração das ferramentas de desenvolvedor e clique na guia Balckboxing no painel esquerdo.
  2. Em seguida, clique no botão Adicionar padrão e digite jquery.js
  3. Feche e reabra as ferramentas do desenvolvedor, agora foi ignorado!

2

Se o depurador estiver explodindo em algum lugar dos arquivos jQuery, você pode potencialmente envolver as chamadas suspeitas em um try / catch e, em seguida, lançar um erro em seu próprio catch. Dessa forma, você pode isolar exatamente onde está errado.

Eu estaria mais inclinado a fazer rastreamentos de pilha para ver por que meu código está explodindo, por exemplo, JSON inválido, do que tentar ignorar isso.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.