Configure IntelliTrace Collection for Debugging in Visual Studio
You can control how much information you see while debugging with IntelliTrace in Visual Studio Ultimate when you change the IntelliTrace collection settings. These settings apply to all projects and solutions, and they persist between debugging sessions and Visual Studio sessions.
You can turn on or turn off collection of specific IntelliTrace events, except for debugger events and exceptions, which are always collected. IntelliTrace events are debugger events, exceptions, .NET Framework events, and other system events that can help you with debugging.
In Visual Studio Ultimate, confirm that IntelliTrace is turned on.
Clearing Enable IntelliTrace turns off all custom settings.
Choose the events and event categories that you want to collect.
If necessary, restart your debugging session. To start debugging with IntelliTrace, see Record Code Execution with IntelliTrace for Debugging in Visual Studio.
What data does IntelliTrace collect for IntelliTrace events?
To help with performance, IntelliTrace doesn't record every possible value for a debugger event. Instead, it records these values:
Values in the Locals window. Keep the Locals window open to see these values.
Values in the Autos window only if the Autos window is open
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 doesn't collect values in pinned DataTips.
IntelliTrace records the exception type and message for these kinds of exceptions:
Handled exceptions where the exception is thrown and caught
.NET Framework events
By default, IntelliTrace records the most common .NET Framework events. For example:
For a File Access event, IntelliTrace collects the file name.
For a Check Checkbox event, IntelliTrace collects the checkbox state and text.
When call collection is turned on, you can switch from traditional debugging to IntelliTrace debugging so you can step through code and see the call stack history. To enable this, turn on call collection before starting your debugging session. See Debug Your App by Recording Code Execution with IntelliTrace.
In Visual Studio Ultimate, turn on or turn off IntelliTrace events and call information.
Restart your debugging session, if necessary. To start debugging with IntelliTrace, see Record Code Execution with IntelliTrace for Debugging in Visual Studio.
Turning on call collection might slow down your app significantly. It might also increase the size of any IntelliTrace log files (.iTrace files) that you're saving to disk. To minimize these effects, collect call information only for the modules you care about. To change the maximum size of your .iTrace files, go to Tools, Options, IntelliTrace, Advanced.
What data does IntelliTrace collect for function calls?
For each function call, IntelliTrace records this data:
Values of primitive data types passed as parameters at function entry points and returned at function exit points
Values of automatic properties when they are read or changed
Pointers to first-level child objects, but not their values other than if they were null or not
IntelliTrace collects only the first 256 objects in arrays and the first 256 characters for strings.
To control how much call information that IntelliTrace collects, specify only those modules that you care about. This can help improve your app's performance during collection. To confirm that IntelliTrace is collecting call information, go to Tools, Options, IntelliTrace, General.
You can also exclude modules, but this can still result in collecting data from modules that might not interest you, such as third-party or open-source modules.
In Visual Studio Ultimate, specify the modules to include or exclude for collection.
To add multiple modules, use the wildcard character * at the start or the end of the string. For module names, use file names, not assembly names. File paths are not accepted.
To start debugging with IntelliTrace, see Record Code Execution with IntelliTrace for Debugging in Visual Studio.