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

Puede emplear menos tiempo en la depuración de la aplicación si usa IntelliTrace para registrar y realizar un seguimiento del historial de ejecución del código.You can spend less time debugging your application when you use IntelliTrace to record and trace your code's execution history. Los errores se detectan fácilmente ya que IntelliTrace le permite:You can find bugs easily because IntelliTrace lets you:

  • registrar eventos específicos;Record specific events

  • examinar el código relacionado, los datos que aparecen en la ventana Variables locales durante los eventos del depurador y la información de llamadas de función;Examine related code, data that appears in the Locals window during debugger events, and function call information

  • depurar errores que son difíciles de reproducir o que se producen en la implementación.Debug errors that are hard to reproduce or that happen in deployment

Puede usar IntelliTrace en Visual Studio Enterprise (pero no en las ediciones Professional o Community).You can use IntelliTrace in Visual Studio Enterprise edition (but not the Professional or Community editions).

¿Qué desea hacer?What do you want to do?

EscenarioScenario TitleTitle
Depurar la aplicación con IntelliTrace:Debug my application with IntelliTrace:

- Deseo ver los últimos eventos.- Show me past events.
- Deseo ver la información de llamadas con eventos anteriores.- Show me call information with past events.
- Guardar mi sesión de IntelliTrace.- Save my IntelliTrace session.
- Controlar los datos que IntelliTrace recopila.- Control the data that IntelliTrace collects.
- Inspección de los estados de aplicación anteriores mediante IntelliTrace- Inspect previous app states using IntelliTrace
- Tutorial: Uso de IntelliTrace- Walkthrough: Using IntelliTrace
- Características de IntelliTrace- IntelliTrace Features
- Depuración histórica- Historical Debugging
Recopilar datos de IntelliTrace de aplicaciones implementadasCollect IntelliTrace data from deployed applications - Usar el recopilador independiente de IntelliTrace- Using the IntelliTrace stand-alone collector
Iniciar la depuración de un archivo de registro de IntelliTrace (archivo .iTrace).Start debugging from an IntelliTrace log file (.iTrace file). - Uso de datos de IntelliTrace guardados- Using saved IntelliTrace data

¿Qué aplicaciones se pueden depurar con IntelliTrace?What apps can I debug with IntelliTrace?

Nivel de compatibilidadSupport level Tipos de aplicaciónApplication types
Totalmente compatibleFull support - Aplicaciones de Visual Basic y Visual C# que usan .NET Framework 2.0 o versiones posteriores.- Visual Basic and Visual C# applications that use .NET Framework 2.0 or higher versions.
Puede depurar la mayoría de las aplicaciones, incluidas las aplicaciones de ASP.NET, Microsoft Azure, Windows Forms, WCF, WPF, Windows Workflow, SharePoint 2010, SharePoint 2013 y de 64 bits.You can debug most applications, including ASP.NET, Microsoft Azure, Windows Forms, WCF, WPF, Windows Workflow, SharePoint 2010, SharePoint 2013, and 64-bit apps.
Para depurar aplicaciones de SharePoint con IntelliTrace, consulte Tutorial: Depuración de una aplicación de SharePoint mediante IntelliTrace.To debug SharePoint applications with IntelliTrace, see Walkthrough: Debugging a SharePoint Application by Using IntelliTrace.
Para depurar aplicaciones de Microsoft Azure con IntelliTrace, consulte Depuración con IntelliTrace y Visual Studio de un servicio en la nube publicado.To debug Microsoft Azure apps with IntelliTrace, see Debugging a Published Cloud Service with IntelliTrace and Visual Studio.
Compatibilidad limitadaLimited support - Aplicaciones de C++ dirigidas a Windows que permiten ver instantáneas con Step-back de IntelliTrace.- C++ apps targeting Windows support viewing snapshots using IntelliTrace step-back. Solo se admiten los eventos de excepción y del depurador.Only debugger and exception events are supported.
- Solo aplicaciones de .NET Core y ASP.NET Core compatibles con ciertos eventos (eventos de controlador de MVC, ADO.NET y HTTPClient) en la depuración local.- .NET Core and ASP.NET Core apps supported for certain events only (MVC Controller, ADO.NET, and HTTPClient events) in local debugging. El recopilador independiente no es compatible con aplicaciones de .NET Core ni de ASP.NET Core.The Standalone Collector is not supported for .NET Core or ASP.NET Core apps.
- Aplicaciones de F# en modo experimental- F# apps on an experimental basis
- Solo aplicaciones para UWP compatibles con eventos- UWP apps supported for events only
No se admiteNot supported - Otros lenguajes y scripts- Other languages and script
- Servicios de Windows, Silverlight, Xbox o aplicaciones móviles de Windows- Windows Services, Silverlight, Xbox, or Windows Mobile apps

Nota

Si quiere depurar un proceso que ya está en ejecución, solo puede recopilar eventos de IntelliTrace (sin información de llamada).If you want to debug a process that is already running, you can collect IntelliTrace events only (no call information). Solo puede asociarse a un proceso de 32 o 64 bits en la máquina local.You can attach to a 32-bit or 64-bit process on the local machine only. No se recopilan los eventos que se produzcan antes de asociarse al proceso.Events that occur before you attach to the process are not collected.

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

La depuración tradicional o en directo solo muestra el estado actual de la aplicación, con datos limitados sobre eventos pasados.Traditional or live debugging shows only your application's current state, with limited data about past events. Estos eventos deben inferirse basándose en el estado actual de la aplicación o hay que recrearlos ejecutando de nuevo la aplicación.You either have to infer these events based on the application's current state, or you have to recreate these events by rerunning your application.

IntelliTrace amplía esta experiencia de depuración tradicional al registrar eventos y datos específicos en estos puntos en el tiempo.IntelliTrace expands this traditional debugging experience by recording specific events and data at these points in time. Esto le permite ver lo que ha sucedido en la aplicación sin reiniciarla, especialmente si se encuentra más allá de donde está el error.This lets you see what happened in your application without restarting it, especially if you step past where the bug is. IntelliTrace está activado de forma predeterminada durante la depuración tradicional y recopila datos de forma automática e invisible.IntelliTrace is turned on by default during traditional debugging and collects data automatically and invisibly. Esto permite cambiar fácilmente entre la depuración tradicional y la depuración de IntelliTrace para ver la información registrada.This lets you switch easily between traditional debugging and IntelliTrace debugging to see the recorded information. Consulte Características de IntelliTrace y ¿Qué datos recopila IntelliTrace?See IntelliTrace Features and What data does IntelliTrace collect?

IntelliTrace también puede ayudar en la depuración de errores que son difíciles de reproducir o que se producen en la implementación.IntelliTrace can also help you debug errors that are hard to reproduce or that happen in deployment. Puede recopilar datos de IntelliTrace y guardarlos en un archivo de registro de IntelliTrace (archivo .iTrace).You can collect IntelliTrace data and save it to an IntelliTrace log file (.iTrace file). Un archivo .iTrace contiene detalles sobre excepciones, eventos de rendimiento, solicitudes web, datos de prueba, subprocesos, módulos y otra información del sistema.An .iTrace file contains details about exceptions, performance events, Web requests, test data, threads, modules, and other system information. Puede abrir este archivo en Visual Studio Enterprise, seleccionar un elemento e iniciar la depuración con IntelliTrace.You can open this file in Visual Studio Enterprise, select an item, and start debugging with IntelliTrace. De esta forma, podrá acceder a cualquier evento del archivo y ver detalles concretos sobre la aplicación en ese punto en el tiempo.This lets you go to any event in the file and see specific details about your application at that point in time.

Puede guardar datos de IntelliTrace de estos orígenes:You can save IntelliTrace data from these sources:

A continuación se muestran algunos ejemplos de cómo IntelliTrace puede servir de ayuda en la depuración:Here are some examples of how IntelliTrace can help you with debugging:

  • La aplicación ha dañado un archivo de datos, pero no se sabe dónde se produjo este evento.Your application has corrupted a data file, but you don't know where this event happened.

    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 donde se produjo el problema.Without IntelliTrace, you have to look through the code to find all possible file accesses, put breakpoints on those accesses, and rerun your application to find where the problem happened. Con IntelliTrace, puede ver todos los eventos de acceso a archivos recopilados y detalles concretos sobre la aplicación referentes al momento en que se produjo cada evento.With IntelliTrace, you can see all the collected file-access events and specific details about your application when each event happened.

  • Se produce una excepción.An exception happens.

    Sin IntelliTrace, aparece un mensaje sobre la excepción, pero no se proporciona mucha información sobre los eventos que produjeron la excepción.Without IntelliTrace, you get a message about an exception but you don't have much information about the events that led to the exception. Puede examinar la pila de llamadas para ver la cadena de llamadas que produjeron la excepción, pero no puede ver la secuencia de eventos que se produjeron durante esas llamadas.You can examine the call stack to see the chain of calls that led to the exception, but you can't see the sequence of events that happened during those calls. Con IntelliTrace, puede examinar los eventos que se produjeron antes de la excepción.With IntelliTrace, you can examine the events that happened before the exception.

  • Se produce un error o un bloqueo en una aplicación implementada.A bug or crash happens in a deployed application.

    En aplicaciones basadas en Microsoft Azure, puede configurar la recopilación de datos de IntelliTrace antes de publicar la aplicación.For Microsoft Azure-based apps, you can configure IntelliTrace data collection before you publish the application. Mientras se ejecuta la aplicación, IntelliTrace guarda los datos en un archivo .iTrace.While your application runs, IntelliTrace saves data to an .iTrace file. Consulte Depuración con IntelliTrace y Visual Studio de un servicio en la nube publicado.See Debug a Published Cloud Service with IntelliTrace and Visual Studio.

    Para las aplicaciones web ASP.NET hospedadas en IIS 7.0, 7.5, y 8.0, y las aplicaciones de SharePoint 2010 o SharePoint 2013, utilice Microsoft Monitoring Agent, solo o con System Center 2012, para guardar los datos de IntelliTrace en un archivo .iTrace.For ASP.NET web apps hosted on IIS 7.0, 7.5, and 8.0, and SharePoint 2010 or SharePoint 2013 applications, use Microsoft Monitoring Agent, either alone or with System Center 2012, to save IntelliTrace data to an .iTrace file.

    Esto es útil cuando desea diagnosticar problemas con aplicaciones en fase de implementación.This is useful when you want to diagnose problems with apps in deployment. Consulte Uso del recopilador independiente de IntelliTrace.See Use the IntelliTrace stand-alone collector.

¿Qué datos recopila IntelliTrace?What data does IntelliTrace collect?

Recopilación de información de eventosCollect event information

De forma predeterminada, IntelliTrace únicamente registra eventos de IntelliTrace: eventos del depurador, excepciones, eventos de .NET Framework y otros eventos del sistema que pueden ayudarle con la depuración.By default, IntelliTrace records only IntelliTrace events: debugger events, exceptions, .NET Framework events, and other system events that can help you with debugging. Puede elegir las clases de eventos de IntelliTrace que desee recopilar, salvo los eventos del depurador y las excepciones, que siempre se recopilan.You can choose the kinds of IntelliTrace events that you want to collect, except for debugger events and exceptions, which are always collected. Consulte Características de IntelliTrace.See IntelliTrace features.

  • Eventos del depuradorDebugger events

    IntelliTrace registra siempre los eventos que se producen en el depurador de Visual Studio.IntelliTrace always records events that happen in the Visual Studio debugger. Por ejemplo, iniciar la aplicación es un evento del depurador.For example, starting your application is a debugger event. Otros eventos del depurador son los eventos de parada, que hacen que la aplicación interrumpa la ejecución.Other debugger events are stopping events, which cause your application to break execution. Por ejemplo, el programa encuentra un punto de interrupción, alcanza un punto de seguimiento o se ejecuta un comando Paso.For example, your program hits a breakpoint, hits a tracepoint, or executes a Step command.

    De manera predeterminada, para ayudar a mejorar el rendimiento, IntelliTrace no registra cada valor posible de un evento del depurador.By default, to help with performance, IntelliTrace doesn't record every possible value for a debugger event. En su lugar, registra estos valores:Instead, it records these values:

    • Valores de la ventana Expresiones locales.Values in the Locals window. Mantenga abierta la ventana Expresiones locales para ver estos valores.Keep the Locals window open to see these values.

    • Valores de la ventana Automático, solo si la ventana Automático está abiertaValues in the Autos window only if the Autos window is open

    • 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.Values in DataTips that appear when you move the mouse pointer on top of a variable in the source window to see its value. IntelliTrace no recopila los valores de las informaciones sobre datos ancladas.IntelliTrace doesn't collect values in pinned DataTips.

      Cuando está habilitado el modo Eventos e instantáneas de IntelliTrace, IntelliTrace tomará una instantánea del proceso de la aplicación en cada evento de Punto de interrupción y Paso del depurador.When IntelliTrace Events and Snapshots mode is enabled, IntelliTrace will take a snapshot of the application's process at each debugger Breakpoint and Step event. Esto registrará los valores en las ventanas Variables locales, Automático e Inspección, independientemente de si las ventanas están abiertas o no.This will record values in the Locals, Autos, and Watch windows, regardless of whether the windows are open or not. También se recopilarán los valores de las sugerencias de datos anclados.Values in any pinned data tips will also be collected.

  • ExcepcionesExceptions

    IntelliTrace registra el tipo y el mensaje de excepción de estas clases de excepciones:IntelliTrace records the exception type and message for these kinds of exceptions:

    • Excepciones controladas en las que la excepción se inicia y se detectaHandled exceptions where the exception is thrown and caught

    • Excepciones no controladasUnhandled exceptions

  • Eventos de .NET Framework.NET Framework events

    De forma predeterminada, IntelliTrace registra los eventos más comunes de .NET Framework.By default, IntelliTrace records the most common .NET Framework events. Por ejemplo, para un evento CheckBox.CheckedChanged, IntelliTrace recopila el texto y el estado de la casilla.For example, for a CheckBox.CheckedChanged event, IntelliTrace collects the checkbox state and text.

  • Eventos de aplicación de SharePoint 2010 y SharePoint 2013SharePoint 2010 and SharePoint 2013 application events

    Puede registrar eventos de perfil de usuario y un subconjunto de eventos del sistema de registro unificado (ULS) para las aplicaciones de SharePoint 2010 y 2013 que se ejecutan fuera de Visual Studio.You can record user profile events and a subset of Unified Logging System (ULS) events for SharePoint 2010 and 2013 applications running outside Visual Studio. Puede guardar estos eventos en un archivo .iTrace.You can save these events to an .iTrace file. Requiere Visual Studio Enterprise 2015 o versiones posteriores, una versión anterior de Visual Studio Ultimate o Microsoft Monitoring Agent en ejecución en modo de Seguimiento.Requires Visual Studio Enterprise 2015 or later versions, a previous version of Visual Studio Ultimate, or Microsoft Monitoring Agent running in Trace mode.

    Al abrir el archivo .iTrace, especifique 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.When you open the .iTrace file, enter a SharePoint correlation ID to find its matching web request, view the recorded events, and start debugging from a specific event. Si el archivo contiene excepciones no controladas, puede elegir un identificador de correlación para empezar a depurar una excepción.If the file contains unhandled exceptions, you can choose a correlation ID to start debugging an exception.

    Vea:See:

Captura de instantáneasCapture snapshots

Puede configurar IntelliTrace para que capture instantáneas en cada evento de paso del depurador y punto de interrupción.You can configure IntelliTrace to capture snapshots at every breakpoint and debugger step event. IntelliTrace registra el estado completo de la aplicación en cada instantánea, lo que permite ver las variables complejas y evaluar las expresiones.IntelliTrace records the full application state at each snapshot, which allows you to view complex variables and to evaluate expressions.

Nota

El recopilador independiente de IntelliTrace no admite capturar instantáneas.The IntelliTrace stand-alone collector does not support capturing snapshots.

Consulte Inspección de los estados de aplicación anteriores mediante IntelliTrace.See Inspect previous app states using IntelliTrace.

Recopilación de información de llamadas de funciónCollect function call information

Puede configurar IntelliTrace para recopilar información de llamadas de las funciones.You can configure IntelliTrace to collect call information for functions. Esta información permite ver un historial de la pila de llamadas y retroceder y avanzar por las llamadas en el código.This information lets you see a history of the call stack and lets you step backward and forward through calls in the code. Para cada llamada de función, IntelliTrace registra estos datos:For each function call, IntelliTrace records this data:

  • Nombre de la funciónFunction name
  • 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ónValues of primitive data types passed as parameters at function entry points and returned at function exit points
  • Valores de propiedades automáticas cuando estas se leen o se cambianValues of automatic properties when they are read or changed
  • Punteros a objetos secundarios de primer nivel, pero no sus valores, salvo sin son null o noPointers to first-level child objects, but not their values other than if they were null or not

Nota

IntelliTrace recopila solo los primeros 256 objetos en matrices y los primeros 256 caracteres de las cadenas.IntelliTrace collects only the first 256 objects in arrays and the first 256 characters for strings.

Consulte Inspección de la aplicación con depuración histórica.See Inspect your app with historical debugging.

Recopilación de información de módulosCollect module information

Para controlar cuánta información de llamadas debe recopilar IntelliTrace, especifique solo los módulos que le interesan.To control how much call information that IntelliTrace collects, specify only those modules that you care about. Esto puede ayudar a mejorar el rendimiento de la aplicación durante la recopilación.This can help improve your application's performance during collection. Consulte la sección Control de la cantidad de información que recopila IntelliTrace en las características de IntelliTrace.See the section Control how much information IntelliTrace Collects in IntelliTrace features.

¿Ralentizará IntelliTrace la aplicación?Will IntelliTrace slow down my application?

De forma predeterminada, IntelliTrace solamente recopila datos para los eventos de IntelliTrace seleccionados.By default, IntelliTrace collects data for selected IntelliTrace events only. Esto puede o no ralentizar la aplicación, dependiendo de la estructura y organización del código.This might or might not slow down your application, depending on the structure and organization of your code. Por ejemplo, si IntelliTrace registra un evento a menudo, la aplicación podría verse ralentizada.For example, if IntelliTrace records an event often, this might slow down your application. También podría hacer que usted se plantease refactorizar la aplicación.It might also make you consider refactoring your application.

La recopilación de la información de llamadas podría ralentizar considerablemente la aplicación.Collecting call information might slow down your application significantly. También podría aumentar el tamaño de los archivos de registro de IntelliTrace (archivos .iTrace) que se guardan en el disco.It might also increase the size of any IntelliTrace log files (.iTrace files) that you're saving to disk. Para reducir estos efectos, recopile la información de llamadas solo para los módulos que le interesen.To minimize these effects, collect call information only for the modules you care about. Para cambiar el tamaño máximo de los archivos .iTrace, vaya a Herramientas, Opciones, IntelliTrace, Avanzadas.To change the maximum size of your .iTrace files, go to Tools, Options, IntelliTrace, Advanced.

BlogsBlogs

Microsoft DevOpsMicrosoft DevOps

ForosForums

Diagnósticos de Visual StudioVisual Studio Diagnostics