Estou procurando um equivalente em Cromo ao " quebra em todos os erros" funcionalidade do Firebug. No separador Scripts, Chrome tem um "pausa em todas as excepções" mas isto não é bem o mesmo que quebrar em todos os erros.
Por exemplo, ao carregar uma página com o seguinte código, eu gostaria que o Chrome partisse na linha foo.bar = 42
. Em vez disso, mesmo ao habilitar o "Pausa em todas as exceções", eu não't obtenho 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 em esta página ou usando este [jsFiddle][2].
Editar: O link original com que respondi é agora inválido.O novo URL seria https://developers.google.com/web/tools/chrome-devtools/javascript/add-breakpoints#exceptions a partir de 2016-11-11.
Eu sei que esta pergunta tem uma resposta, mas ela's já não é mais precisa. **Usa o link acima ^***
(link substituído pelo editado acima) - agora você pode configurá-lo para quebrar em todas as exceções ou apenas nas não-deslaçadas. (Note que você precisa estar na aba **Sources*** para ver o botão).
Chrome's também adicionou algumas outras capacidades de breakpoint realmente úteis agora, tais como a quebra em mudanças de DOM ou eventos de rede.
Normalmente eu não'não voltaria a responder a uma pergunta, mas eu próprio tinha a mesma pergunta, e encontrei esta resposta agora errada, por isso pensei que eu'colocaria esta informação aqui para as pessoas que vieram mais tarde na procura :)
Quase todos os erros são uma excepção. Os únicos erros que eu posso pensar que não'não funcionam com o "pausa em exceções" opções são erros de sintaxe, que acontecem antes de qualquer código ser executado, então não há lugar para pausar de qualquer forma e nenhum código será executado.
Aparentemente, Chrome won't pause na exceção se ele's dentro de um bloco try-catch. Ele só faz uma pausa em exceções não-caçadas. Eu não'não sei de nenhuma maneira de mudá-lo.
Se você só precisa saber em que linha a exceção aconteceu (então você pode definir um ponto de parada se a exceção for reprodutível), o objeto Error' dado ao bloco de captura tem uma propriedade
stack' que mostra onde a exceção aconteceu.