Compartir vía


Inspeccionar una excepción mediante la Aplicación auxiliar de excepciones

Tratar con excepciones es un problema común, independientemente de su tecnología o nivel de conocimientos. Puede ser una experiencia frustrante descubrir por qué las excepciones están causando problemas en el código. Al depurar una excepción en Visual Studio, queremos reducir esa frustración proporcionándole información de excepción pertinente para ayudarle a depurar el problema con más rapidez.

Asistente de excepciones

Pausa en la excepción

Cuando el depurador se interrumpe en una excepción, aparece un icono de error de excepción a la derecha de la línea de código. Aparecerá una Aplicación auxiliar de excepciones no modal cerca del icono de excepción.

Aplicación auxiliar de excepciones junto a una línea de código

Inspección de la información de la excepción

Puede leer de forma instantánea el tipo de excepción y el mensaje de excepción en la Aplicación auxiliar de excepciones, y si la excepción se inició o no se controló. Puede inspeccionar y ver las propiedades del objeto de excepción haciendo clic en el vínculo Ver detalles.

Análisis de referencias nulas

A partir de Visual Studio 2017, para el código de .NET y C/C++, cuando se alcanza un NullReferenceException o un AccessViolation, se ve información de análisis nula en la Aplicación auxiliar de excepciones. El análisis se muestra como texto debajo del mensaje de excepción. En la ilustración siguiente, la información se muestra como "s era null.".

Análisis de valores nulos de la Aplicación auxiliar de excepciones

Nota

El análisis de referencias nulas en código administrado requiere la versión 4.6.2 de .NET. Actualmente no se admite el análisis de valores NULL para Plataforma universal de Windows (UWP) y cualquier otra aplicación de .NET Core. Solo está disponible durante la depuración de código que no tiene ninguna optimización de código Just-in-Time (JIT).

Definición de la configuración de excepciones

Puede configurar el depurador para que se interrumpa cuando se inicie una excepción del tipo actual desde la sección Configuración de excepciones de la Aplicación auxiliar de excepciones. Si el depurador está en pausa en una excepción iniciada, puede usar la casilla para deshabilitar la interrupción en ese tipo de excepción cuando se inicie en el futuro. Si no desea realizar la interrupción en esta excepción particular cuando se inicia en este módulo concreto, marque la casilla por el nombre del módulo en Excepto si se produce en: en la ventana Configuración de excepciones.

Inspección de excepciones internas

Si la excepción tiene excepciones internas (InnerException), puede verlas en la Aplicación auxiliar de excepciones. Si hay varias excepciones presentes, puede desplazarse entre ellas mediante las flechas izquierda y derecha que se muestran encima de la pila de llamadas.

Aplicación auxiliar de excepciones con excepción interna

Inspección de excepciones reiniciadas

En los casos en los que el estado de una excepción es thrown, la Aplicación auxiliar de excepciones muestra la pila de llamadas desde la primera vez que se inició la excepción. Si la excepción se inició varias veces, solo se muestra la pila de llamadas desde la excepción original.

Aplicación auxiliar de excepciones con excepciones reiniciadas

Inspección de excepciones asincrónicas (.NET)

A partir de .NET 9, el depurador de Visual Studio se interrumpe automáticamente cuando un método Task asincrónico produce una excepción en el código de .NET Framework. Esto facilita la depuración de código asincrónico, especialmente en ASP.NET, ya que las excepciones a menudo se producen a través de límites asincrónicos.

Captura de pantalla del asistente de excepciones con el método asincrónico.

Ver la pila de llamadas

A partir de la versión 17.3 de Visual Studio 2022, puede ver los marcos de pila de excepciones dentro de la ventana Pila de llamadas. En el caso de las excepciones asincrónicas, esto agrega la capacidad de cargar rápidamente símbolos o buscar orígenes y ir directamente al sitio de la excepción. Los marcos de pila de excepciones dentro de la ventana Pila de llamadas proporcionan características estándar de pila de llamadas, como la navegación automática, el cambio rápido entre fotogramas, carga de símbolos y opciones de descompilación para volver al código fuente donde se produjo la excepción.

Asistente de excepciones con pila de llamadas

Obtenga asistencia de IA

Si tiene Copilot, puede obtener ayuda de IA mientras depura excepciones. Solo tiene que buscar el botón Preguntar a Copilot Captura de pantalla del botón Preguntar Copilot.. En estos escenarios, Copilot ya conoce el contexto de sus preguntas, por lo que no es necesario proporcionar contexto en el chat. Para obtener más información, consulte Depuración con Copilot.

Uso compartido de una sesión de depuración con Live Share

En la Aplicación auxiliar de excepciones, puede iniciar una sesión de Live Share mediante el vínculo Iniciar sesión de Live Share... . Cualquiera que se una a la sesión de Live Share puede ver la Aplicación auxiliar de excepciones junto con cualquier otra información de depuración.