Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

209
Visualizações
cómo iniciar programáticamente un cambio (realizado por el usuario) al modo de depuración en Chrome

En Firefox puedo hacerlo, desde mi programa JavaScript de ejecución prolongada (que se ejecuta en una pestaña sin herramientas de desarrollo abiertas):

 alert("while this alert is still on, open Dev Tools (Shift-Ctrl-I) to hit a breakpoint as soon as you hit ok"); debugger;

y funciona como se esperaba, es decir, si abro manualmente las herramientas de desarrollo mientras la ventana de alerta aún está abierta, el programa se detiene en el depurador tan pronto como cierro la alerta.

En Chrome esto no funciona. Intenté eval('depurador') en lugar de solo depurador, pero eso tampoco funciona. ¿Hay alguna alternativa para Chrome? Tal vez en forma de extensión (siempre y cuando no tenga sobrecarga de tiempo de ejecución).

Ejecutar el programa con Dev Tools abierto desde el principio no es una opción, ya que tiene un gran impacto en el rendimiento (el programa es dos o tres veces más lento), por lo que quiero poder alternar (cuando haya terminado depuración, quiero reanudar y cerrar las herramientas de desarrollo; idealmente, la sesión de depuración también debería permitir editar y continuar, pero esa es otra lata de gusanos).

Esencialmente, lo que necesito es un punto de interrupción sin gastos generales para Chrome

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Esta no es una solución general a la pregunta que hice, pero funciona para mi caso particular, así que la comparto aquí. Por un lado, aclara un poco la mecánica de por qué no funciona en Chrome tal cual, por otro lado, podría ayudar a otros que también ejecutan código dentro de los generadores.

Mientras intentaba ver si una segunda alerta podría ayudar, noté que, aunque había iniciado las herramientas de desarrollo durante la primera alerta, el panel de fuentes todavía estaba en blanco cuando la página se detuvo durante la segunda alerta. Esto me hizo pensar que el control no había regresado al navegador, por lo tanto, la fuente (más precisamente, el depurador de herramientas de desarrollo) aún no estaba activa, no hasta que la evaluación actual hubiera seguido su curso, y es por eso que se ignoró la declaración del depurador. Probé esa hipótesis y, de hecho, usando

 alert("while this alert is still on, open Dev Tools (Shift-Ctrl-I) to hit a breakpoint as soon as you hit ok"); setTimeout(function run () { debugger; });

También hice que Chrome pausara el depurador. Por supuesto, la pausa en realidad no ocurre de inmediato, solo ocurre después del hecho (después de la última declaración en el script), de forma asíncrona con la ejecución del script, pero para mí esto es lo suficientemente bueno, dado que mi código se ejecuta dentro de los generadores. el bucle de ejecución principal del programa se parece a:

 setTimeout(function run () { generator.next(); setTimeout(run); });

Entonces, en los lugares donde quiero cambiar al modo de depuración, simplemente puedo hacer:

 alert("while this alert is still on, open Dev Tools (Shift-Ctrl-I) to hit a breakpoint as soon as you hit ok"); yield; debugger;

Dado que de todos modos sigue una interrupción en el programa, el hecho de que el programa haga un rendimiento adicional al navegador/llame a setTimeout es irrelevante, y cuando el programa eventualmente (dentro de la siguiente invocación del generador next()) se detiene en el depurador, está en el estado correcto (sincrónico).

about 4 years ago · Juan Pablo Isaza Relatório

0

También puede llamar a console.log(1). La consola generará un campo de 1 Luego haga clic a la izquierda ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda