Debugging Non-Reproducible Errors With IntelliTrace

This topic applies to Visual Studio 2010 Ultimate only.

Non-reproducible errors are a common problem for developers. For example, an application might crash on a test computer but run successfully on a development computer.

In many cases, using IntelliTrace together with Test Manager can solve the problem of non-reproducible errors. Test Manager can automatically collect IntelliTrace data and save it as an IntelliTrace recording that can later be opened by a developer using Visual Studio. Team Foundation Server work items provide a convenient means for testers to share IntelliTrace recordings with developers. The developer can debug the problem in a manner similar to postmortem debugging of a dump file, but with more information.

A dump file represents a snapshot of the state of an application at one point in time, usually the moment when a crash occurred. An IntelliTrace recording contains a series of snapshots that represent the state of the application as it changes throughout time. Using an IntelliTrace recording, you can view events that occurred early in the application run, in addition to the final state. In this way, debugging an IntelliTrace recording resembles debugging a live application more than it resembles debugging a dump file.

Developers can also share IntelliTrace recordings that are created in Visual Studio. This scenario is less common than debugging an IntelliTrace recording that was created in Test Manager. For more information about how to create, save, and open an IntelliTrace recording, see How to: Store and Use IntelliTrace Recordings.

To debug an IntelliTrace recording that is attached to a work item

  1. Open the work item that contains the IntelliTrace recording.

  2. In the work item window, click Other Links, and then click the IntelliTrace recording, which you can recognize by its .iTrace extension.

  3. In the IntelliTrace Summary window, expand the Threads List, Exception Data, or Test Step item, then double-click a thread, exception, or test step to start debugging the application at that point:

    1. If you are debugging an application that threw an exception, double-click the exception name to start debugging at the time that exception was thrown.

    2. If you want to start debugging at the start of the application, double-click Main thread.

  4. At this point, you can navigate to any event that was collected in the recording to examine the state of the application at that time. For more information, see Navigating with IntelliTrace.

    Note

    If you close the Trace Debugging Log: Summary window and want to open it again, go to the Debug menu and click the Show Log Summary icon.

See Also

Tasks

How to: Collect IntelliTrace Data to Help Debug Difficult Issues