Compartir a través de


IntelliTrace para Visual Studio Enterprise (C#, Visual Basic, C++)

Puede dedicar menos tiempo a depurar la aplicación cuando se usa IntelliTrace para registrar y realizar un seguimiento del historial de ejecución del código. Puede encontrar errores fácilmente porque IntelliTrace le permite:

  • Registrar eventos específicos

  • Examine el código relacionado, los datos que aparecen en la ventana Variables locales durante eventos de depuración y la información sobre llamadas de función.

  • Resolver errores que son difíciles de reproducir o que ocurren durante la implementación

Puede usar IntelliTrace en visual Studio Enterprise Edition (pero no en las ediciones Professional o Community).

¿Qué desea hacer?

Escenario Título
Depurar mi aplicación con IntelliTrace:

- Mostrarme eventos pasados.
- Muéstrame información de llamadas con eventos anteriores.
- Guarde mi sesión de IntelliTrace.
- Controlar los datos que IntelliTrace recopila.
- Inspección de los estados de la aplicación anteriores mediante IntelliTrace
- Tutorial: Uso de IntelliTrace
- Características de IntelliTrace
- Depuración histórica
Recopilación de datos de IntelliTrace de aplicaciones implementadas - Uso del recopilador independiente de IntelliTrace
Inicie la depuración desde un archivo de registro de IntelliTrace (archivo .iTrace). - Uso de datos guardados de IntelliTrace

¿Qué aplicaciones puedo depurar con IntelliTrace?

Nivel de soporte Tipos de aplicación
Compatibilidad completa - Aplicaciones de Visual Basic y Visual C# que usan .NET Framework 2.0 o versiones posteriores.
Puede depurar la mayoría de las aplicaciones, como ASP.NET, Microsoft Azure, Windows Forms, WCF, WPF, Windows Workflow, SharePoint 2010, SharePoint 2013 y aplicaciones de 64 bits.
Para depurar aplicaciones de SharePoint con IntelliTrace, vea Tutorial: Depuración de una aplicación de SharePoint mediante IntelliTrace.
Para depurar aplicaciones de Microsoft Azure con IntelliTrace, consulte Depuración de un servicio en la nube publicado con IntelliTrace y Visual Studio.
Compatibilidad limitada - Las aplicaciones de C++ destinadas a Windows admiten la visualización de instantáneas mediante el paso atrás de IntelliTrace. Solo se admiten los eventos de depuración y excepción.
- Las aplicaciones .NET Core y ASP.NET Core solo se admiten para ciertos eventos (controlador de MVC, ADO.NET y eventos de HttpClient) durante la depuración local. El recopilador independiente no se admite para las aplicaciones de .NET Core ni las de ASP.NET Core.
- Aplicaciones de F# de forma experimental
- Solo se admiten aplicaciones para UWP para eventos
No soportado - Otros lenguajes y scripts
- Servicios de Windows, Silverlight, Xbox o aplicaciones de Windows Mobile

Nota:

Si desea depurar un proceso que ya se está ejecutando, solo puede recopilar eventos de IntelliTrace (sin información de llamadas). Solo se puede conectar a un proceso de 32 o de 64 bits en el equipo local. Los eventos que ocurren antes de que te adjuntes al proceso no se recopilan.

¿Por qué depurar con IntelliTrace?

La depuración tradicional o en tiempo real muestra solo el estado actual de la aplicación, proporcionando datos limitados sobre los eventos pasados. Debe deducir estos eventos en función del estado actual de la aplicación, o bien debe volver a crear estos eventos mediante la rerución de la aplicación.

IntelliTrace expande esta experiencia de depuración tradicional mediante la grabación de eventos y datos específicos en estos momentos en el tiempo. Esto le permite ver lo que ha ocurrido en la aplicación sin reiniciarla, especialmente si pasa por el lugar donde está el error. IntelliTrace está activado de forma predeterminada durante la depuración tradicional y recopila datos de forma automática e invisible. Esto le permite cambiar fácilmente entre la depuración tradicional y IntelliTrace para ver la información grabada. Consulte Características de IntelliTrace y ¿Qué datos recopila IntelliTrace?

IntelliTrace también puede ayudarle a depurar errores difíciles de reproducir o que se producen en la implementación. Puede recopilar datos de IntelliTrace y guardarlos en un archivo de registro de IntelliTrace (archivo .iTrace). Un archivo .iTrace contiene detalles sobre excepciones, eventos de rendimiento, solicitudes web, datos de prueba, subprocesos, módulos y otra información del sistema. Puede abrir este archivo en Visual Studio Enterprise, seleccionar un elemento e iniciar la depuración con IntelliTrace. Esto le permite ir a cualquier evento en el archivo y ver detalles específicos sobre la aplicación en ese momento dado.

Puede guardar datos de IntelliTrace de estos orígenes:

Estos son algunos ejemplos de cómo IntelliTrace puede ayudarte con la depuración:

  • La aplicación ha dañado un archivo de datos, pero no sabe dónde se produjo este evento.

    Sin IntelliTrace, debe examinar el código para buscar todos los posibles accesos a archivos, colocar puntos de interrupción en esos accesos y volver a ejecutar la aplicación para encontrar dónde se produjo el problema. Con IntelliTrace, puede ver todos los eventos de acceso a archivos recopilados y detalles específicos sobre la aplicación cuando se produjo cada evento.

  • Se produce una excepción.

    Sin IntelliTrace, recibirá un mensaje sobre una excepción, pero no tiene mucha información sobre los eventos que llevaron a la excepción. Puede examinar la pila de llamadas para ver la cadena de llamadas que llevó a la excepción, pero no puede ver la secuencia de eventos que se produjeron durante esas llamadas. Con IntelliTrace, puede examinar los eventos que se produjeron antes de la excepción.

  • Se produce un error o un bloqueo en una aplicación implementada.

    En el caso de las aplicaciones basadas en Microsoft Azure, puede configurar la recopilación de datos de IntelliTrace antes de publicar la aplicación. Mientras se ejecuta la aplicación, IntelliTrace guarda los datos en un archivo .iTrace. Consulte Depuración de un servicio en la nube publicado con IntelliTrace y Visual Studio.

    Para aplicaciones web ASP.NET hospedadas en IIS 7.0, 7.5 y 8.0, y aplicaciones de SharePoint 2010 o SharePoint 2013, use Microsoft Monitoring Agent, ya sea solo o junto con System Center 2012, para guardar los datos de IntelliTrace en un archivo .iTrace.

    Esto resulta útil cuando desea diagnosticar problemas con las aplicaciones en la implementación. Consulte Uso del recopilador independiente de IntelliTrace.

¿Qué datos recopila IntelliTrace?

Recopilación de información de eventos

De forma predeterminada, IntelliTrace registra solo eventos de IntelliTrace: eventos del depurador, excepciones, eventos de .NET Framework y otros eventos del sistema que pueden ayudarle con la depuración. Puede elegir los tipos de eventos de IntelliTrace que desea recopilar, excepto para los eventos y excepciones del depurador, que siempre se recopilan. Consulte Características de IntelliTrace.

  • Eventos del depurador

    IntelliTrace siempre registra eventos que se producen en el depurador de Visual Studio. Por ejemplo, iniciar tu aplicación es un evento del depurador. Otros eventos del depurador son eventos de interrupción, que hacen que la aplicación se detenga durante la ejecución. Por ejemplo, el programa alcanza un punto de interrupción, alcanza un punto de seguimiento o ejecuta un comando Step .

    De forma predeterminada, para ayudar con el rendimiento, IntelliTrace no registra todos los valores posibles para un evento del depurador. En su lugar, registra estos valores:

    • Valores en la ventana Variables locales . Mantenga abierta la ventana Variables locales para ver estos valores.

    • Valores de la ventana Automático solo si la ventana Automático está abierta

    • Valores en las DataTips que aparecen al mover el puntero del ratón sobre una variable en la ventana de código para ver su valor. IntelliTrace no recopila valores en los DataTips anclados.

      Cuando el modo de instantáneas y eventos de IntelliTrace está habilitado, IntelliTrace tomará una instantánea del proceso de la aplicación en cada evento Breakpoint y Step del depurador. Esto registrará valores en las ventanas Local, ventanas Automático y ventanas Inspección, independientemente de si las ventanas están abiertas o no. También se recopilarán los valores de las sugerencias de datos fijadas.

  • Excepciones

    IntelliTrace registra el tipo de excepción y el mensaje para estos tipos de excepciones:

    • Excepciones controladas en las que se produce y detecta la excepción

    • Excepciones no controladas

  • Eventos de .NET Framework

    De forma predeterminada, IntelliTrace registra los eventos de .NET Framework más comunes. Por ejemplo, para un CheckBox.CheckedChanged evento, IntelliTrace recopila el estado y el texto de la casilla.

  • Eventos de aplicación de SharePoint 2010 y SharePoint 2013

    Puede registrar eventos de perfil de usuario y un subconjunto de eventos del Sistema de registro unificado (ULS) para aplicaciones de SharePoint 2010 y 2013 que se ejecutan fuera de Visual Studio. Puede guardar estos eventos en un archivo .iTrace. Requiere Visual Studio Enterprise 2015 o versiones posteriores, una versión anterior de Visual Studio Ultimate o Microsoft Monitoring Agent que se ejecuta en modo Trace.

    Al abrir el archivo .iTrace, escriba un identificador de correlación de SharePoint para buscar su solicitud web coincidente, ver los eventos registrados e iniciar la depuración desde un evento específico. Si el archivo contiene excepciones no controladas, puede elegir un identificador de correlación para iniciar la depuración de una excepción.

    Vea:

Captura de instantáneas

Puede configurar IntelliTrace para capturar instantáneas en cada punto de interrupción y en cada evento de paso del depurador. IntelliTrace registra el estado completo de la aplicación en cada instantánea, lo que permite ver variables complejas y evaluar expresiones.

Nota:

El recopilador independiente de IntelliTrace no admite la captura de instantáneas.

Vea Inspeccionar estados anteriores de la aplicación con IntelliTrace.

Recopilar información de llamadas a funciones

Puede configurar IntelliTrace para recopilar información de llamadas para funciones. Esta información le permite ver un historial de la pila de llamadas y le permite retroceder y avanzar a través de llamadas en el código. Para cada llamada de función, IntelliTrace registra estos datos:

  • Nombre de la función
  • Valores de tipos de datos primitivos pasados como parámetros en puntos de entrada de función y devueltos en los puntos de salida de la función
  • Valores de propiedades automáticas cuando se leen o cambian
  • Punteros a objetos secundarios de primer nivel, pero no sus valores aparte de si son _NULL_ o no

Nota:

IntelliTrace recopila solo los primeros 256 objetos en matrices y los primeros 256 caracteres para las cadenas.

Ver Inspecciona tu aplicación con depuración histórica.

Recopilación de información del módulo

Para controlar la cantidad de información de llamada que IntelliTrace recopila, especifique solo los módulos que le interesan. Esto puede ayudar a mejorar el rendimiento de la aplicación durante la recopilación. Consulte la sección Control de la cantidad de información que IntelliTrace recopila en las características de IntelliTrace.

¿IntelliTrace ralentizará mi aplicación?

De forma predeterminada, IntelliTrace recopila datos solo para eventos de IntelliTrace seleccionados. Esto puede ralentizar o no la aplicación, en función de la estructura y la organización del código. Por ejemplo, si IntelliTrace registra un evento a menudo, esto podría ralentizar la aplicación. También puede hacer que considere la posibilidad de refactorizar la aplicación.

La recopilación de información de llamadas podría ralentizar significativamente la aplicación. También puede aumentar el tamaño de cualquier archivo de registro de IntelliTrace (archivos .iTrace) que guarde en el disco. Para minimizar estos efectos, recopile información de llamadas solo para los módulos que le interesan. Para cambiar el tamaño máximo de los archivos .iTrace, vaya a Herramientas, Opciones, IntelliTrace, Avanzado.

Bitácoras

Microsoft DevOps

Foros

Diagnósticos de Visual Studio