Estou procurando um equivalente no Chrome para a funcionalidade "quebrar todos os erros" do Firebug. Na guia Scripts, o Chrome tem uma "pausa em todas as exceções", mas isso não é o mesmo que interromper todos os erros.
Por exemplo, ao carregar uma página com o código a seguir, eu gostaria que o Chrome quebrasse a linha foo.bar = 42
. Em vez disso, mesmo ao ativar a "Pausa em todas as exceções", não recebo o resultado esperado.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript">
function doError() {
foo.bar = 42;
}
window.onload = function() {
try {
doError();
} catch (e) {
console.log("Error", e);
}
}
</script>
</head>
<body>
</body>
</html>
Você pode tentar o código colado acima nesta página ou usando este jsFiddle .
javascript
google-chrome
debugging
webkit
avernet
fonte
fonte
console.log(gaga)
) ou a uma propriedade indefinida (como emwindow.foo.bar
).Respostas:
Editar: o link original com o qual eu respondi agora é inválido . O URL mais novo seria https://developers.google.com/web/tools/chrome-devtools/javascript/add-breakpoints#exceptions em 11/11/2016.
Sei que esta pergunta tem uma resposta, mas não é mais precisa. Use o link acima ^
(link substituído pelo editado acima) - agora você pode configurá-lo para quebrar todas as exceções ou apenas as não tratadas. (Observe que você precisa estar na guia Fontes para ver o botão.)
O Chrome também adicionou agora outros recursos de ponto de interrupção realmente úteis, como a quebra de alterações no DOM ou eventos de rede.
Normalmente, eu não respondia novamente a uma pergunta, mas eu mesma tinha a mesma pergunta e encontrei a resposta agora incorreta, então achei que colocaria essa informação aqui para as pessoas que apareceram mais tarde na pesquisa. :)
fonte
Eu tenho problemas para obtê-lo, então eu publico fotos mostrando diferentes opções:
Chrome 75.0.3770.142 [29 de julho de 2018]
Interface do usuário muito muito semelhante desde pelo menos o Chrome 38.0.2125.111 [11 de dezembro de 2014]
Na guia
Sources
:Quando o botão está ativado, é possível
Pause On Caught Exceptions
com a caixa de seleção abaixo:Versões prévias
Chrome 32.0.1700.102 [03 de fevereiro de 2014]fonte
Agora isso é suportado no Chrome pelo botão "Pausar em todas as exceções".
Para habilitá-lo:
Observe que este botão possui vários estados. Continue clicando no botão para alternar entre
fonte
Praticamente qualquer erro lançará uma exceção. Os únicos erros que consigo pensar que não funcionariam com a opção "pausa nas exceções" são erros de sintaxe, que acontecem antes que qualquer código seja executado, portanto, não há lugar para pausar de qualquer maneira e nenhum código será executado.
Aparentemente, o Chrome não fará uma pausa na exceção se estiver dentro de um bloco try-catch. Ele pausa apenas em exceções não capturadas. Não conheço nenhuma maneira de mudar isso.
Se você só precisa saber em que linha a exceção ocorreu (então você pode definir um ponto de interrupção se a exceção for reproduzível), o
Error
objeto fornecido ao bloco catch terá umastack
propriedade que mostra onde a exceção ocorreu.fonte
Infelizmente, as Ferramentas do desenvolvedor no Chrome parecem incapazes de "parar com todos os erros", como o Firebug.
fonte