Поделиться через


Отладка с помощью IntelliTrace

Этот раздел применим только при работе с Visual Studio 2010 Ultimate.

Отладка с помощью IntelliTrace, доступная в Microsoft Visual Studio 2010 Ultimate, позволяет получить более подробное представление о приложении по сравнению с использованием традиционных отладчиков. Традиционные отладчики показывают состояние приложения в настоящее время с ограниченными сведениями о событиях, которые произошли в прошлом. Необходимо либо определить события, произошедшие в прошлом, на основании состояния приложения в настоящее время, либо перезапустить приложение для повторного создания прошлых событий. С помощью IntelliTrace можно действительно увидеть события, произошедшие в прошлом, а также контекст, в котором они происходили. Это позволяет сократить число перезапусков, необходимых для отладки приложения, и снизить вероятность невозможности воспроизведения ошибки при повторном запуске приложения.

IntelliTrace расширяет и совершенствует привычные возможности отладки в реальном времени в Visual Studio. В нем можно пользоваться всеми знакомыми функциями отладчика Visual Studio. IntelliTrace работает незаметно в фоне, записывая данные отладки. Чтобы взглянуть на прошлое состояние приложения, можно перейти в режим IntelliTrace. В этом режиме можно переходить к различным моментам во времени, в которых были записаны требуемые события.

Кроме того, можно загрузить файл IntelliTrace с расширением .iTrace, созданный IntelliTrace или Менеджер тестирования, и выполнить по нему отладку. Файлы IntelliTrace позволяют выполнять отладку после аварийного завершения, используя весь спектр возможностей IntelliTrace.

При использовании параметров по умолчанию IntelliTrace оказывает минимальное влияние на производительность приложения. Поэтому средство IntelliTrace включено по умолчанию. Даже если пользователь не планирует использовать IntelliTrace при запуске сеанса отладки, данные IntelliTrace собираются автоматически и при необходимости к ним можно получить доступ.

Ускорение отладки кода

IntelliTrace позволяет экономить время благодаря сокращению цикла отладки. Предположим, например, что выполняется отладка приложения, которое считывает значение реестра во время инициализации, однако раздел реестра не существует. При выполнении приложения проявления этой проблемы долгое время могут оставаться незамеченными. Кроме того, нужно определить причину невозможности считывания значения реестра. Обычный подход заключается в перезапуске приложения и добавлении точки останова рядом с местом обращения к реестру. На повторный запуск приложения нужно потратить определенное время. IntelliTrace позволяет избежать таких многократных перезапусков. Вместо повторного запуска приложения можно начать отладку с помощью средства IntelliTrace, которое позволяет просмотреть все предыдущие обращения к реестру, выбрать необходимое, а затем проанализировать состояние приложения в тот момент, когда произошло это обращение к реестру. Аналогичным образом можно экономить время при отладке других проблем, таких как исключение или ошибка доступа к файлу. Дополнительные сведения см. в разделе Ускорение отладки кода с помощью IntelliTrace.

Отладка невоспроизводимых ошибок

IntelliTrace позволяет отлаживать ошибки и аварийные завершения, воспроизвести которые в противном случае было бы невозможно. Отладку можно выполнять по файлам журналов, созданным IntelliTrace или Менеджер тестирования. Тест-инженер может связать файл журнала из Менеджер тестирования непосредственно с рабочим элементом или ошибкой Team Foundation Server, которые могут быть назначены разработчику. Таким образом IntelliTrace и Менеджер тестирования интегрируется в рабочий процесс команды.

Процесс отладки файла IntelliTrace аналогичен отладке файла дампа. Однако файлы IntelliTrace предоставляют значительно больше сведений, чем традиционные файлы дампов. Файл дампа предоставляет снимок состояния приложения в один момент времени, обычно – в момент аварийного завершения. IntelliTrace позволяет просмотреть хронологию событий и узнать о состоянии приложения и событиях, которые происходили ранее во время выполнения приложения. Это ускоряет и упрощает отладку по файлу журнала по сравнению с отладкой по файлу дампа.

Дополнительные сведения см. в разделе Отладка невоспроизводимых ошибок с помощью IntelliTrace.

Поддерживаемые приложения и сценарии отладки

IntelliTrace поддерживает отладку приложений Visual Basic и C#, для которых используется платформа .NET версии 2.0, 3.0, 3.5 или 4. Отлаживать можно большинство приложений, в том числе приложения, созданные с использованием ASP.NET, Windows Forms, WPF, Windows Workflow и WCF. IntelliTrace не поддерживает отладку приложений на C++, скриптов и приложений на других языках. Отладка приложений F# поддерживается в экспериментальном режиме.

С помощью IntelliTrace можно отлаживать приложения, запущенные из файлов Visual Studio и IntelliTrace, созданных IntelliTrace или Менеджер тестирования. IntelliTrace нельзя использовать с приложениями, запущенными вне Visual Studio и отлаженными с помощью команды Присоединить к. IntelliTrace не поддерживает удаленную отладку приложений, выполняющихся на других компьютерах.

IntelliTrace поддерживает отладку после аварийного завершения работы приложений SharePoint и 64-разрядных приложений посредством файлов журнала отладки, созданных с помощью Менеджер тестирования. Это средство не поддерживает отладку приложений SharePoint или 64-разрядных приложений, запущенных из Visual Studio.

IntelliTrace не поддерживает отладку приложений для Silverlight, Xbox или Windows Mobile.

Уровни сбора данных

При включенном средстве IntelliTrace данные собираются автоматически во время каждого сеанса отладки. Эти данные IntelliTrace позволяют при необходимости перейти от отладки в режиме реального времени к отладке с помощью IntelliTrace. Тип собираемой информации определяется параметрами, заданными на уровне Visual Studio. Эти параметры сбора данных применяются ко всем проектам и решениям. Они остаются неизменными во всех сеансах отладки и сеансах Visual Studio.

По умолчанию IntelliTrace собирает данные только для выбранных событий IntelliTrace. Как отмечалось ранее, сбор этих данных по умолчанию оказывает минимальное влияние на производительность приложения.

Для расширения возможностей отладки в дополнение к событиям IntelliTrace можно выбрать сбор записей о вызовах вместе с их параметрами и возвращаемыми значениями. Эти дополнительные возможности отладки скажутся на производительности. Дополнительные сведения о диагностических событиях и параметрах сора данных см. в разделах Сбор данных IntelliTrace.

См. также

Основные понятия

Выполнение общих задач разработки

Другие ресурсы

Справочник по API для расширения IntelliTrace