O depurador de rede do Chrome fornece uma excelente visão de todos os recursos HTTP carregados para uma página. Mas limpa a lista sempre que uma nova página HTML de nível superior é carregada. Isso torna muito difícil depurar páginas que são recarregadas automaticamente por um motivo ou outro (script em execução ou 300 respostas).
Posso dizer ao Chrome para não limpar o depurador de rede quando uma nova página de nível superior é carregada? Ou posso voltar e examinar os recursos de rede da página anterior?
Ou posso forçar de alguma forma o Chrome a pausar antes de carregar uma nova página quando não controle a página que estou tentando depurar que está redirecionando? É parte de uma dança do OpenID que está dando errado, então a combinação de SSL e credenciais torna extremamente difícil depurar com ferramentas de linha de comando.
Respostas:
Isso foi alterado desde a v32, graças a @Daniel Alexiuc e @Thanatos pelos comentários.
Corrente (≥ v32)
Na parte superior da guia "Rede" do DevTools, há uma caixa de seleção para ativar a funcionalidade "Preservar log". Se estiver marcado, o log da rede é preservado no carregamento da página.
O pequeno ponto vermelho à esquerda agora tem o objetivo de ativar e desativar completamente o log de rede.
versões mais antigas
Nas versões mais antigas do Chrome (v21 aqui), há um pequeno ponto vermelho clicável no rodapé da guia "Rede".
Se você passar o mouse sobre ele, ele informará que "Preservará o Log On Navigation" quando estiver ativado. Mantém a promessa.
fonte
Não sei como forçar o Chrome a não limpar o depurador de rede, mas isso pode ser o que você está procurando:
window.addEventListener("beforeunload", function() { debugger; }, false)
Isso fará uma pausa no chrome antes de carregar a nova página, atingindo um ponto de interrupção.
fonte
Basta atualizar a resposta @bfncs
Eu acho que no Chrome 43 o comportamento mudou um pouco. Você ainda precisa habilitar a opção Preservar registro para ver, mas agora redirecione mostrado na guia Outros, quando o documento carregado for mostrado em Doc.
Isso sempre me confunde, porque tenho muitas solicitações de rede e a filtre por tipo XHR, Doc, JS etc. Mas, no caso de redirecionar, a guia Doc está vazia, por isso preciso adivinhar.
fonte
Outra ótima solução para depurar as chamadas de rede antes de redirecionar para outras páginas é selecionar o
beforeunload
ponto de interrupção do eventoDessa forma, você garante interromper o fluxo imediatamente antes de redirecioná-lo para outra página, assim todas as chamadas de rede, dados de rede e logs do console ainda estão lá.
Essa solução é melhor quando você deseja verificar qual é a resposta das chamadas
PS: Você também pode usar pontos de interrupção XHR se quiser parar logo antes de uma chamada específica ou qualquer ligação (veja o exemplo da imagem)
fonte
load
evento, podemos parar no início e definir pontos de interrupção facilmente. Obrigado!