Leer en inglés

Compartir a través de


Inspección de una excepción mediante el asistente de excepciones

Tratar con excepciones es un problema común, independientemente de su tecnología o nivel de experiencia. Puede ser una experiencia frustrante averiguar por qué las excepciones causan problemas en el código. Al depurar una excepción en Visual Studio, queremos reducir esa frustración al proporcionarle información de excepción pertinente para ayudarle a depurar el problema con mayor 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 esa línea de código. Un asistente de excepciones no modal aparecerá cerca del icono de excepción.

asistente de excepciones junto a una línea de código

Inspeccionar información de 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 Exception 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 referencia null en código administrado requiere la versión 4.6.2 de .NET. Actualmente, no se admite el análisis null para la Plataforma universal de Windows (UWP) ni para ninguna 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).

Configuración de las opciones de excepción

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 verlos en el Asistente de excepciones. Si hay varias excepciones presentes, puede navegar 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 de 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 produjo varias veces, solo se muestra la pila de llamadas de 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 asíncrono.

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. Para las excepciones asincrónicas, esto agrega la capacidad de cargar rápidamente símbolos o localizar 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 los marcos, la posibilidad de 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

Obtención de ayuda para la inteligencia artificial

Si tiene Copilot, puede obtener asistencia de inteligencia artificial mientras depura excepciones. Solo tiene que buscar el botón Preguntar a CopilotCaptura de pantalla del botón Preguntar a 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 Depurar con Copilot.

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

En el Asistente de Excepciones, podrá iniciar una sesión de Live Share mediante el vínculoIniciar sesión de Live Share.... Cualquier persona que se una a la sesión de Live Share podrá ver el Asistente de excepciones junto con cualquier otra información de depuración.