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.
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.
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.".
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.
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.
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.
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.
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 . 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.