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


Компоненты IntelliTrace (C#, Visual Basic, C++)

IntelliTrace можно использовать для записи событий и методов вызовов приложения, что позволяет проверить состояние (стек вызовов и локальные значения переменных) в разных точках выполнения. Просто начать отладку как обычно . IntelliTrace включена по умолчанию, и вы можете увидеть информацию, которую IntelliTrace записывает в новом окне средств диагностики на вкладке "События ". Выберите событие и нажмите кнопку "Активировать историческую отладку" , чтобы увидеть стек вызовов и локальные параметры, записанные для этого события.

Пошаговое описание см. в пошаговом руководстве по использованию IntelliTrace.

IntelliTrace доступен в выпуске Visual Studio Enterprise, но не в выпусках Visual Studio Professional или Community.

Чтобы убедиться, что IntelliTrace включен, откройте страницу "Параметры > инструментов > IntelliTrace". Включение IntelliTrace должно быть проверено по умолчанию.

Замечание

Область всех параметров на странице параметров IntelliTrace — Это Visual Studio в целом, а не отдельные проекты или решения. Изменение этих параметров применяется ко всем экземплярам Visual Studio, всем сеансам отладки и всем проектам или решениям.

Выберите события, которые записывают IntelliTrace (C#, Visual Basic)

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

Если вы проводите отладку, остановите её. Перейдите в Инструменты > Параметры > IntelliTrace > События IntelliTrace. Выберите события, которые требуется записать IntelliTrace.

Сбор моментальных снимков (C#, Visual Basic, C++)

Это не включено по умолчанию, но IntelliTrace может делать снимки вашего приложения в каждой точке останова и на каждом этапе работы отладчика, и вы можете просматривать эти снимки в историческом сеансе отладки. Моментальный снимок предоставляет представление о полном состоянии приложения. Чтобы включить запись моментальных снимков, перейдите в раздел > "Параметры > IntelliTrace General" и выберите моментальные снимки IntelliTrace >(управляемые и собственные). Дополнительные сведения см. в разделе "Проверка предыдущих состояний приложения с помощью IntelliTrace".

Моментальные снимки доступны в Visual Studio Enterprise 2017 версии 15.5 и более поздних версиях, при этом требуется юбилейное обновление Windows 10 или более поздняя версия. Для приложений .NET Core и ASP.NET Core требуется Visual Studio Enterprise 2017 версии 15.7. Для собственных приложений, предназначенных для Windows, требуется Visual Studio Enterprise 2017 версии 15.9( предварительная версия 2).

Сборка событий IntelliTrace и информации о вызовах (C#, Visual Basic)

Это не включено по умолчанию, но IntelliTrace может записывать вызовы методов вместе с событиями. Чтобы включить коллекцию вызовов методов, перейдите в Средства > Параметры > IntelliTrace > Общие и выберите события IntelliTrace и сведения о вызовах (только управляемые).

Сведения о вызове в настоящее время недоступны для приложений .NET Core и ASP.NET Core.

Это позволяет вам видеть историю стека вызовов и перемещаться вперед и назад по вызовам в вашем коде. IntelliTrace записывает такие данные, как имена методов, точки входа и выхода метода, а также определенные значения параметров и возвращаемые значения.

Подсказка

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

Вы можете уменьшить затраты на производительность, ограничив список событий, которые записывает IntelliTrace, и держа количество собираемых модулей на минимуме. Дополнительные сведения см. в разделе "Управление объемом сведений о вызове IntelliTrace".

Используйте навигационный желоб

В левой части окна кода можно использовать панель навигации. Если вы не видите области навигации, перейдите к разделу "Параметры > инструментов > IntelliTrace > Advanced" и выберите "Отобразить область навигации" в режиме отладки.

Навигационная полоса позволяет перемещаться вперед и назад по вызовам методов и событиям в режиме исторической отладки. Дополнительные сведения об исторической отладке см. в разделе Историческая отладка. У него есть несколько команд:

Command Description
Настройка контекста отладчика здесь Задайте контекст отладки для интервала времени вызова, в котором он отображается.

Этот значок отображается только в текущем стеке вызовов.
Возврат к точке вызова Переместите указатель и контекст отладки обратно в место вызова текущей функции.

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

Если вы находитесь в режиме динамической отладки, эта команда включает историческую отладку.
Вступать Войдите в текущую выбранную функцию.

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

Эта команда доступна только в Историческом режиме отладки.
Переход в режим реального времени Вернитесь в режим динамической отладки.

Поиск строки или метода в IntelliTrace

Методы можно искать только в том случае, если включена информация о вызове метода. Вы можете искать по истории IntelliTrace для конкретной строки или метода. Пока выполнение отладчика остановлено, щелкните правой кнопкой мыши в теле функции, чтобы просмотреть контекстное меню, и выберите команду "Поиск этой строки в IntelliTrace" или "Поиск этого метода в IntelliTrace".

Управляйте объемом информации о вызовах, записываемой IntelliTrace

По умолчанию IntelliTrace записывает сведения обо всех модулях, используемых решением. Вы можете настроить IntelliTrace для записи сведений о вызове только для модулей, интересующих вас. В разделе "Параметры > инструментов > IntelliTrace Modules" можно указать модули для включения или модулей, которые следует исключить из IntelliTrace>. IntelliTrace собирает только события, полученные из указанных модулей, и вызовы метода, которые произошли в модулях, которые вам нужны.

Чтобы добавить несколько модулей, используйте подстановочный знак * в начале или конце строки. Для имен модулей используйте имена файлов, а не имена сборок. Пути к файлам не принимаются.

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

Сохранение данных IntelliTrace в файл (C#, Visual Basic, C++)

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

Вы можете настроить IntelliTrace для автоматического сохранения в файл, перейдя в раздел Инструменты > Параметры > IntelliTrace > Дополнительно и выбрав Хранить записи IntelliTrace в этом каталоге. Вы также можете установить максимальный размер для создаваемого файла, что заставляет IntelliTrace перезаписывать старые данные, когда заканчивается место. Visual Studio создает два файла для каждого сеанса IntelliTrace, когда они сохраняются автоматически, и включен хостинг-процесс Visual Studio (vshost.exe).

Подсказка

Чтобы сэкономить место на диске, отключите автоматическое сохранение файлов, если они больше не нужны. Существующие файлы не будут удалены. Вы всегда можете сохранить файл по запросу из контекстного меню.

При сохранении данных IntelliTrace в файл вы получите один itrace-файл для каждого процесса, из который был собран IntelliTrace. Затем вы можете открыть файл .itrace в Visual Studio, перейдя в Файл > Открыть > Файл и выбрав файл .itrace в диалоговом окне "Открыть файл". Дополнительные сведения см. в разделе "Использование сохраненных данных IntelliTrace".

Blogs

IntelliTrace в Visual Studio Enterprise 2015

IntelliTrace в Visual Studio Enterprise 2015 теперь поддерживает подключение!

Сбор данных из службы Windows с помощью автономного сборщика IntelliTrace

Изменение плана сбора IntelliTrace

Custom TraceSource и отладка с помощью IntelliTrace

Форумы

Отладчик Visual Studio