Compartir a través de


Depurar con IntelliTrace

Este tema solo atañe a Visual Studio 2010 Ultimate.

La depuración con IntelliTrace, disponible en Microsoft Visual Studio 2010 Ultimate, proporciona una imagen mejorada de la aplicación en comparación con los depuradores tradicionales. Los depuradores tradicionales muestran el estado de la aplicación en el momento actual y proporcionan información limitada sobre los eventos que se produjeron en el pasado. Los eventos que se produjeron en el pasado deben deducirse atendiendo al estado de la aplicación en el momento actual o reiniciando la aplicación para poder recrearlos. Con IntelliTrace, puede ver realmente los eventos que se produjeron en el pasado y el contexto en el que lo hicieron. De este modo, son menos los reinicios necesarios para depurar la aplicación y se reduce la probabilidad de que un error no se reproduzca al volver a ejecutar la aplicación.

IntelliTrace amplía y mejora la experiencia de depuración en directo de Visual Studio que ya conoce. Seguirá teniendo acceso a todas las características de Visual Studio con las que está familiarizado. IntelliTrace trabaja en segundo plano de forma transparente para el usuario registrando la información de depuración. Si desea volver a examinar un estado anterior de la aplicación, puede activar el modo IntelliTrace. En este modo, puede navegar a distintos momentos en los que se registraron eventos de interés.

Puede cargar y depurar un archivo de IntelliTrace, con la extensión .iTrace, creado por IntelliTrace o Test Manager. Los archivos de IntelliTrace le permiten llevar a cabo la depuración después de un bloqueo con todo la eficacia de IntelliTrace.

Si usa la configuración predeterminada, IntelliTrace tendrá un efecto mínimo en el rendimiento de la aplicación. Por tanto, IntelliTrace está activado de forma predeterminada. Aunque no tuviera pensado usar IntelliTrace al iniciar la sesión de depuración, IntelliTrace recopila automáticamente la información y la pone a su disposición para cuando la necesite.

Depurar código más rápido

Con IntelliTrace, es posible ahorrar tiempo gracias a la reducción del ciclo de depuración. Supongamos, por ejemplo, que está depurando una aplicación que lee un valor del Registro durante la inicialización, pero la clave del Registro no existe. Es posible que las consecuencias de ese problema no sean evidentes hasta mucho después de la ejecución de la aplicación. En ese caso, deberá determinar por qué no se ha leído el valor del Registro. El enfoque habitual consiste en reiniciar la aplicación y situar un punto de interrupción cerca del acceso al Registro. Pero volver a ejecutar la aplicación lleva su tiempo. Con IntelliTrace, puede evitar muchos de estos reinicios. En lugar de volver a ejecutar la aplicación, puede iniciar la depuración con IntelliTrace, que le permitirá revisar de forma retrospectiva todos los accesos al Registro, elegir el que le interesa y examinar el estado de la aplicación cuando se produjo ese acceso al Registro. Percibirá un ahorro de tiempo similar cuando depure otros problemas, como una excepción o un error de acceso al archivo. Para obtener más información, vea Acelerar la depuración de código mediante IntelliTrace.

Depurar errores no reproducibles

IntelliTrace permite depurar errores y bloqueos que, de otro modo, no sería posible reproducir. Puede depurar los archivos de registro creados por IntelliTrace o por Test Manager. Un evaluador puede vincular directamente un archivo de registro de Test Manager a un elemento de trabajo o error de Team Foundation Server, que puede estar asignado a un desarrollador. De este modo, IntelliTrace y Test Manager se integran en el flujo de trabajo de su equipo.

El proceso de depuración de un archivo de IntelliTrace es similar a la depuración de un archivo de volcado de memoria. Sin embargo, los archivos de IntelliTrace proporcionan mucha más información que los archivos de volcado de memoria tradicionales. Un archivo de volcado de memoria proporciona una instantánea del estado de una aplicación en un momento dado, normalmente cuando se ha producido un bloqueo. Con IntelliTrace, puede rebobinar el historial para ver el estado de la aplicación y los eventos que se produjeron anteriormente en la ejecución de la aplicación. Por tanto, la depuración de una archivo de registro resulta más rápida y sencilla que la depuración de un archivo de volcado de memoria.

Para obtener más información, vea Depurar errores no reproducibles con IntelliTrace.

Escenarios de depuración y aplicaciones compatibles

IntelliTrace permite depurar aplicaciones de Visual Basic y C# que usan la versión de .NET 2.0, 3.0, 3.5 ó 4. Puede depurar la mayoría de las aplicaciones, incluidas las aplicaciones que se crearon con ASP.NET, Windows Forms, WPF, Windows Workflow y WCF. IntelliTrace no permite depurar C++, script u otros lenguajes. La depuración de las aplicaciones de F# solo es compatible de modo experimental.

Con IntelliTrace, puede depurar aplicaciones iniciadas desde archivos de Visual Studio e IntelliTrace creados por IntelliTrace o Test Manager. No puede usar IntelliTrace con aplicaciones iniciadas fuera de Visual Studio y depuradas a través del comando Adjuntar a. IntelliTrace no admite la depuración remota de aplicaciones que están en ejecución en otros equipos.

IntelliTrace admite la depuración posterior a un bloqueo de las aplicaciones de SharePoint y las aplicaciones de 64 bits a través de los archivos de registro de depuración de seguimiento creados por Test Manager. No permite depurar aplicaciones de SharePoint o aplicaciones de 64 bits iniciadas desde Visual Studio.

IntelliTrace no permite depurar aplicaciones de Silverlight, Xbox o Windows Mobile.

Niveles de recopilación

Cuando IntelliTrace está habilitado, la información se recopila automáticamente durante cada sesión de depuración. Esta información de IntelliTrace le permite pasar de la depuración en directo a la depuración con IntelliTrace siempre que lo necesite. El tipo de información que se recopila viene determinado por las opciones que haya establecido en el nivel de Visual Studio. Estas opciones de recopilación se aplican a todos los proyectos y soluciones. Estas opciones se conservan entre sesiones de depuración y sesiones de Visual Studio.

De forma predeterminada, IntelliTrace solamente recopila información para los eventos de IntelliTrace seleccionados. Como se mencionó anteriormente, la recopilación de esta información predeterminada tiene un efecto mínimo en el rendimiento de la aplicación.

Para aumentar la eficacia de la depuración, puede optar por recopilar un registro de llamadas junto con sus parámetros y valores devueltos además de los eventos de IntelliTrace. No obstante, esta eficacia de depuración adicional tiene repercusiones sobre el rendimiento. Para obtener más información sobre las opciones de recopilación y los eventos de diagnóstico, vea Recopilar información de IntelliTrace.

Vea también

Conceptos

Realizar tareas de desarrollo comunes

Otros recursos

Referencia de la API para la extensibilidad de IntelliTrace