Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Snapshot Debugger toma una instantánea de las aplicaciones en producción cuando se ejecuta el código que le interesa. Para indicar al depurador que tome una instantánea, establezca puntos de acoplamiento y puntos de registro en el código. El depurador le permite ver exactamente qué salió mal, sin afectar el tráfico de la aplicación de producción. Snapshot Debugger puede ayudarle a reducir drásticamente el tiempo necesario para resolver los problemas que se producen en entornos de producción.
Los puntos de instantánea y los puntos de registro son similares a los puntos de interrupción, pero a diferencia de estos últimos, los puntos de instantánea no detienen la aplicación cuando se alcanzan dichos puntos. Típicamente, la captura de una instantánea en un snappoint tarda entre 10 y 20 milisegundos.
En este tutorial, aprenderá lo siguiente:
- Iniciar el depurador de instantáneas
- Establecer un punto de instantáneo y ver una imagen instantánea
- Establecimiento de un punto de registro
Prerrequisitos
Snapshot Debugger solo está disponible a partir de Visual Studio 2017 Enterprise versión 15.5 o posterior con la carga de trabajo de desarrollo de Azure. (En la pestaña Componentes individuales, la encontrará en Depuración y pruebas>.Depurador de instantáneas).
Si aún no está instalado, instale Visual Studio 2019. Si va a actualizar desde una instalación anterior de Visual Studio, ejecute el Instalador de Visual Studio y compruebe el componente Snapshot Debugger en la carga de trabajo de desarrollo web y ASP.NET.
Plan básico o superior de Azure App Service.
La recopilación de instantáneas está disponible para las siguientes aplicaciones web que se ejecutan en Azure App Service:
- ASP.NET aplicaciones que se ejecutan en .NET Framework 4.6.1 o posterior.
- Aplicaciones de ASP.NET Core que se ejecutan en .NET Core 2.0 o versiones posteriores en Windows.
Abra el proyecto e inicie snapshot Debugger.
Abra el proyecto que desea depurar con capturas.
Importante
Para realizar la depuración de instantáneas, debe abrir la misma versión del código fuente que ha sido publicado en Azure App Service.
Elija >. Seleccione el Azure App Service al que está implementado su proyecto y una cuenta de Azure Storage y, a continuación, haga clic en Adjuntar. Snapshot Debugger también admite Azure Kubernetes Service y Azure Virtual Machines (VM) y Virtual Machine Scale Sets.
Importante
La primera vez que seleccione Asociar depurador de instantáneas, se le pedirá que instale la extensión de sitio Depurador de instantáneas en el Azure App Service. Esta instalación requiere un reinicio de Azure App Service.
Nota:
(Visual Studio 2019, versión 16.2 y posteriores) Snapshot Debugger ha habilitado la compatibilidad con la nube de Azure. Asegúrese de que tanto el recurso de Azure como la cuenta de Azure Storage que seleccione estén en la misma nube. Póngase en contacto con el administrador de Azure si tiene preguntas sobre las configuraciones de cumplimiento de Azure de su empresa.
Visual Studio ahora está en modo de depuración de instantáneas.
La ventana Módulos muestra cuándo se han cargado todos los módulos para Azure App Service (elija Depurar > módulos de Windows > para abrir esta ventana).
Establecer un punto de ajuste
En el editor de código, haga clic en el margen izquierdo junto a una línea de código de su interés para establecer un punto de interrupción. Asegúrese de que es código que sabe que se ejecutará.
Haga clic en Iniciar colección para activar el punto de acoplamiento.
Sugerencia
No puede avanzar paso a paso al ver una instantánea, pero puede colocar varios puntos de interrupción en su código para seguir la ejecución en diferentes líneas de código. Si tiene múltiples puntos de acoplamiento en el código, Snapshot Debugger se asegura de que las instantáneas correspondientes sean de la misma sesión del usuario final. Snapshot Debugger hace esto incluso si hay muchos usuarios que llegan a la aplicación.
Tomar una instantánea
Una vez establecido un punto de captura, puede generar manualmente una instantánea si va a la vista del navegador de su sitio web y ejecuta la línea de código marcada, o bien esperar a que los usuarios generen una a partir de su interacción con el sitio.
Inspección de los datos de instantánea
Cuando se alcanza el punto de acoplamiento, aparece una instantánea en la ventana Herramientas de diagnóstico. Para abrir esta ventana, elija Depurar > Windows > Mostrar herramientas de diagnóstico.
Haga doble clic en el punto de captura para abrir la instantánea en el editor de código.
Desde esta vista, puede mantener el puntero sobre las variables para ver información sobre datos, usar las ventanas Variables locales, Observadores y Pila de llamadas, y también evaluar expresiones.
El propio sitio web todavía está activo y los usuarios finales no se ven afectados. Solo se captura una instantánea por punto de captura de forma predeterminada: después de capturar una instantánea, el punto de captura se desactiva. Si desea capturar otra instantánea en el snappoint, puede habilitarlo nuevamente haciendo clic en Actualizar colección.
También puede agregar más puntos de anclaje a la aplicación y activarlos con el botón Actualizar recopilación.
¿Necesita ayuda? Consulte las páginas Solución de problemas y problemas conocidos y Preguntas frecuentes sobre la depuración de instantáneas.
Establecimiento de un punto de acoplamiento condicional
Si es difícil volver a crear un estado determinado en la aplicación, considere la posibilidad de usar un punto de acoplamiento condicional. Los puntos de acoplamiento condicionales le ayudan a controlar cuándo tomar una instantánea, como cuando una variable contiene un valor determinado que desea inspeccionar. Puede establecer condiciones mediante expresiones, filtros o recuentos de aciertos.
Para crear un punto de referencia condicional
Haga clic con el botón derecho en un icono de punto de acoplamiento (la esfera hueca) y elija Configuración.
En la ventana de configuración del punto de acoplamiento, escriba una expresión.
En la ilustración anterior, la captura solo se toma para el punto de captura cuando
visitor.FirstName == "Dan"
.
Establecimiento de un punto de registro
Además de tomar una instantánea cuando se alcanza un punto de interrupción, también puede configurar un punto de interrupción para registrar un mensaje (es decir, crear un punto de registro). Puede establecer puntos de registro sin tener que volver a implementar la aplicación. Los puntos de registro se ejecutan virtualmente y no producen ningún impacto o efectos secundarios en la aplicación en ejecución.
Para crear un punto de registro
Haga clic con el botón derecho en un icono de punto de acoplamiento (el hexágono azul) y elija Configuración.
En la ventana de configuración del punto de acoplamiento, seleccione Acciones.
En el campo Mensaje , puede escribir el nuevo mensaje de registro que desea registrar. También puede evaluar variables en su mensaje de registro colocándolas entre llaves.
Si elige Enviar a la ventana de salida, cuando se alcanza el punto de registro, el mensaje aparece en la ventana Herramientas de diagnóstico.
Si elige Enviar al registro de aplicaciones, cuando se alcanza el punto de registro, el mensaje aparece en cualquier lugar donde pueda ver mensajes de
System.Diagnostics.Trace
(o deILogger
en .NET Core), como App Insights.
Contenido relacionado
En este tutorial, ha aprendido a usar Snapshot Debugger para App Services. Es posible que quiera leer más detalles sobre esta característica.