Share via


Depurar la aplicación grabando la ejecución de código con IntelliTrace

Para pasar menos tiempo depurando la aplicación, registre y realice un seguimiento del historial de ejecución con IntelliTrace en Visual Studio Ultimate.De esta forma, los errores se encuentran más fácilmente sin tener que establecer varios puntos de interrupción porque IntelliTrace permite:

  • Registrar eventos específicos que se produjeron en la aplicación.

    Esto permite examinar el código relacionado, los datos que aparecen en la ventana Locales durante los eventos del depurador y la información de llamadas de función, si decide realizar la recopilación.

  • Reducir el reinicio de la aplicación para volver a crear errores o eventos.

  • Depurar errores que son difíciles de reproducir o que se producen fuera de Visual Studio, por ejemplo, en producción u otros entornos.

El ejemplo siguiente muestra cómo grabar eventos que sirvan de ayuda para encontrar un error en el código:

Solo eventos de IntelliTrace: flujo de alto nivel

Observe IntelliTrace en acción: Visual Studio Ultimate 2012: Recopilación y análisis de datos en un entorno de producción (vídeo de Channel 9).

¿Qué desea hacer?

Depurar la aplicación con IntelliTrace en Visual Studio:

  • Deseo ver los últimos eventos.

  • Deseo ver la información de llamadas con eventos anteriores.

  • Guardar mi sesión de IntelliTrace.

  • Controlar los datos que IntelliTrace recopila.

Obtener datos de IntelliTrace durante una sesión de prueba en Test Manager

Obtener datos de IntelliTrace de las aplicaciones que se ejecutan fuera de Visual Studio

Iniciar la depuración de un archivo de registro de IntelliTrace (archivos .iTrace).

Preguntas más frecuentes

  • ¿Qué aplicaciones se pueden depurar con IntelliTrace?

  • ¿Por qué realizar la depuración con IntelliTrace?

  • ¿Qué datos recopila IntelliTrace?

  • ¿IntelliTrace ralentizará la aplicación?

¿Qué aplicaciones se pueden depurar con IntelliTrace?

Compatible

Se admite de forma limitada

  • Aplicaciones de F# de modo experimental

  • Aplicaciones de Windows Store compatibles solo para eventos

No compatible

  • C++, otros lenguajes y script

  • Silverlight, Xbox o aplicaciones de Windows Mobile

[!NOTA]

Si desea depurar un proceso que se está ejecutando, no puede usar IntelliTrace.Debe iniciar IntelliTrace cuando el proceso comienza.

¿Por qué realizar la depuración con IntelliTrace?

La depuración tradicional o activa solo muestra el estado actual de la aplicación con datos limitados sobre eventos pasados.Tiene que inferir estos eventos basándose en el estado actual de la aplicación o tiene que volver a crear estos eventos volviendo a ejecutar la aplicación.

IntelliTrace amplía esta experiencia de depuración tradicional al grabar eventos específicos y datos en estos puntos a tiempo.Esto permite ver lo que ha sucedido en la aplicación sin reiniciarla, especialmente si va más allá de 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 permite cambiar fácilmente entre depuración tradicional y depuración de IntelliTrace para ver la información registrada.Vea Grabar la ejecución de código con IntelliTrace para depurar en Visual Studio y ¿Qué datos recopila IntelliTrace?

IntelliTrace también puede ayudar en la depuración de errores que son difíciles de reproducir o que se producen fuera de Visual Studio.Puede obtener los datos de IntelliTrace y guardarlos en un archivo de registro de IntelliTrace (archivos .iTrace).Un archivo .iTrace contiene los detalles sobre las excepciones, los subprocesos, las solicitudes web, los datos de prueba, los módulos y más información del sistema.Puede abrir este archivo en Visual Studio Ultimate, seleccionar un elemento e iniciar la depuración con IntelliTrace.Esto permite ir a cualquier evento en el archivo y ver los detalles concretos sobre la aplicación en ese momento.

Puede guardar los datos de IntelliTrace desde estos orígenes:

  • Sesión de IntelliTrace en Visual Studio Ultimate

  • Sesión de pruebas en Microsoft Test Manager

  • Aplicaciones que se ejecutan fuera de Visual Studio, por ejemplo, en producción u otros entornos

  • Visual Studio 2012.1: Aplicaciones supervisadas por System Center 2012 Service Pack 1 (SP1) - Operations Manager con IntelliTrace Profiling Management Pack.Vea Cómo configurar la integración con IntelliTrace en System Center 2012.

Vea Depurar la aplicación con archivos de registro (.iTrace) de IntelliTrace.

A continuación se muestran algunos ejemplos de cómo IntelliTrace puede servir de ayuda en la depuración:

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

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

  • Se produce una excepción.

    Sin IntelliTrace, se obtiene un mensaje sobre una excepción pero no se proporciona mucha información sobre los eventos que condujeron a la excepción.Puede examinar la pila de llamadas para ver la cadena de llamadas que condujeron hasta 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.

  • La aplicación se bloquea en un equipo de pruebas pero se ejecuta correctamente en un equipo de desarrollo.

    Puede obtener los datos de IntelliTrace desde Microsoft Test Manager, guardar los datos en un archivo .iTrace y adjuntar este archivo a un elemento de trabajo de Team Foundation Server para investigación posterior.Vea Incluir información de seguimiento de diagnóstico con errores difíciles de reproducir y Depurar la aplicación con archivos de registro (.iTrace) de IntelliTrace.

  • Se produce un error o un bloqueo en la aplicación que se está ejecutando fuera de Visual Studio.

    En aplicaciones basadas en Windows Azure, puede configurar la recolecció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.Vea Depurar servicios en nube publicados con IntelliTrace y Visual Studio.

    En aplicaciones de escritorio administradas (.exe), las aplicaciones web ASP.NET hospedadas en IIS 7.0, 7.5 y 8.0, así como las aplicaciones SharePoint 2010, puede utilizar el recopilador independiente para guardar los datos de IntelliTrace a un archivo .iTrace.

    Esto resulta útil cuando desea diagnosticar problemas con aplicaciones que se ejecutan en lugares donde no es conveniente cambiar la configuración del sistema, por ejemplo, en un entorno de producción.Puede instalar el recolector sin cambiar la configuración del sistema.Cuando haya recopilado los datos, simplemente elimine el recolector para desinstalarlo.Vea Recopilar datos de IntelliTrace fuera de Visual Studio con el recopilador independiente.

¿Qué datos recopila IntelliTrace?

Recopilar información de eventos

De forma predeterminada, IntelliTrace solo graba los eventos de IntelliTrace.Estos son eventos del depurador, excepciones, eventos de .NET Framework y otros eventos del sistema que pueden servir de ayuda en la depuración.Puede elegir las clases de eventos de IntelliTrace que desee recopilar, salvo los eventos del depurador y las excepciones, que siempre se recopilan.Vea Configurar la recopilación de IntelliTrace para depurar en Visual Studio.

  • Eventos del depurador

    IntelliTrace graba siempre los eventos que se producen en el depurador de Visual Studio.Por ejemplo, iniciar la aplicación es un evento del depurador.Otros eventos del depurador son los eventos de parada, que hacen que la aplicación interrumpa la ejecución.Por ejemplo, el programa encuentra un punto de interrupción, alcanza un punto de seguimiento o se ejecuta un comando Paso.

    Para ayudar a mejorar el rendimiento, IntelliTrace no registra cada valor posible 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 en la ventana Automático solo si la ventana Automático está abierta.

    • Valores de información sobre datos que aparecen cuando mueve el puntero del mouse sobre una variable en la ventana de código fuente para ver su valor.IntelliTrace no obtiene valores de información sobre datos anclados.

  • Excepciones

    IntelliTrace graba el tipo de excepción y el mensaje para estas clases de excepciones:

    • Excepciones controladas donde se produce y se detecta la excepción

    • Excepciones no controladas

  • Eventos de .NET Framework

    De forma predeterminada, IntelliTrace graba los eventos más comunes de .NET Framework.Por ejemplo:

    • Para un evento Acceso al archivo, IntelliTrace recopila el nombre de archivo.

    • Para un evento Activar casilla, IntelliTrace recopila el estado y el texto de la casilla.

  • Visual Studio 2012.1: Eventos de aplicación de SharePoint 2010

    Para las aplicaciones de SharePoint 2010 que se ejecutan fuera de Visual Studio, puede registrar y guardar determinados eventos de SharePoint en un archivo .iTrace mediante el recopilador independiente en Actualización 1 de Visual Studio 2012.

    Al abrir el archivo .iTrace, puede especificar un identificador de correlación de SharePoint para buscar la 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 empezar a depurar una excepción.Puede registrar los eventos de perfil de usuario y un subconjunto de eventos del sistema de registro unificado (ULS).

    Vea:

Recopilar información de llamadas de función

Puede configurar IntelliTrace para recopilar información de llamadas de funciones.Esta información permite ver un historial de la pila de llamadas y permite ir hacia atrás y hacia delante a través de llamadas en el código.Para cada llamada de función, IntelliTrace graba estos datos:

  • Nombre de la función

  • Valores de los tipos de datos primitivos pasados como parámetros en los puntos de entrada de la función y devueltos en los puntos de salida de la función

  • Valores de propiedades automáticas cuando se leen o se cambian

  • Punteros a objetos secundarios de primer nivel, pero no sus valores distintos de NULL o no

[!NOTA]

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

Vea Configurar la recopilación de IntelliTrace para depurar en Visual Studio.

Obtener información de módulos

Para controlar cuánta información de llamadas debe recopilar IntelliTrace, especifique solo los módulos que le interesan.Esto puede ayudar a mejorar el rendimiento de la aplicación durante la recolección.Vea Configurar la recopilación de IntelliTrace para depurar en Visual Studio.

¿IntelliTrace ralentizará la aplicación?

De forma predeterminada, IntelliTrace solamente recopila datos para los eventos de IntelliTrace seleccionados.Esto puede o no ralentizar la aplicación, dependiendo de la estructura y organización del código.Por ejemplo, si IntelliTrace graba un evento a menudo, esto puede ralentizar la aplicación, pero podría también pedir que se considerara la refactorización de la aplicación.

Al recopilar información de llamadas se puede ralentizar la aplicación significativamente.Podría aumentar el tamaño de cualquier archivo de registro de IntelliTrace (archivos .iTrace) que esté guardando en el disco.Para minimizar estos efectos, recopile la información de llamadas solo para los módulos que le interesen.Para cambiar el tamaño máximo de los archivos .iTrace, vaya a Herramientas, Opciones, IntelliTrace, Avanzadas.Vea Configurar la recopilación de IntelliTrace para depurar en Visual Studio.

¿Dónde puedo obtener información?

Grabar la ejecución de código con IntelliTrace para depurar en Visual Studio

Configurar la recopilación de IntelliTrace para depurar en Visual Studio

Incluir información de seguimiento de diagnóstico con errores difíciles de reproducir

Recopilar datos de IntelliTrace fuera de Visual Studio con el recopilador independiente

Depurar la aplicación con archivos de registro (.iTrace) de IntelliTrace

Dd264915.collapse_all(es-es,VS.110).gifBlogs

Visual Studio ALM + Team Foundation Server

Dd264915.collapse_all(es-es,VS.110).gifForos

Depurador de Visual Studio

Dd264915.collapse_all(es-es,VS.110).gifGuía

Tema sobre el cuadro de herramientas de pruebas (capítulo 6) de Pruebas para distribución continua con Visual Studio 2012

Dd264915.collapse_all(es-es,VS.110).gifVideos

Visual Studio Ultimate 2012: Recopilación y análisis de datos en un entorno de producción (vídeo de Channel 9)