Версия Visual Studio 2010 Ultimate имеет новую функцию IntelliTrace (интеллектуальная трассировка). IntelliTrace была введена в Visual Studio для ускорения отладки приложений .NET. Она отслеживает предустановленные события и методы во время выполнения процесса и эффективно передается исполнителю отладки. , тем самым быстро передавая состояние и различную информацию программы во время выполнения, чтобы помочь разработчикам лучше отлаживать программу и быстрее находить проблемы. Фактически, до Visual Studio 2010 Microsoft Visual Stuido очень хорошо помогал нам наследовать инструменты отладки, такие как мониторинг переменных, просмотр стеков и т. д., а также возможность установки точек останова для одношаговой отладки и т. д. Все это очень помогает разработчикам понять состояние программы в различных процессах выполнения и заранее определить, работает ли она в соответствии с реальной логикой. Более того, мы можем обнаружить проблему, отслеживая состояние программы после точек останова. Проблема в том, что некоторые логические ошибки могут возникнуть до того, как будет выполнена точка останова, и их невозможно будет отследить. Разработчики должны остановить текущую отладку, сбросить точку останова и начать отладку, и этот экспериментальный процесс часто занимает много раз, чтобы найти правильное место для установки точки останова. IntelliTrace интеллектуально автоматически отслеживает и отображает некоторую отладочную информацию и состояние программы для разработчиков, тем самым уменьшая необходимость программистов находить подходящие точки останова для отслеживания и мониторинга рабочего состояния программы.
Visual Studio предоставляет нам два способа управления источником собираемой информации: один — только события IntelliTrace, который собирает только данные, связанные с событиями интеллектуальной трассировки и прерываниями отладки; другой — события IntelliTrace и информацию о вызовах, которые собирают данные. дополнение к IntelliTrace Различные данные о входе и выходе вызова метода вне событий. Давайте посмотрим, как настроить параметры трассировки IntelliTrace в Visual Studio 2010.
Откройте Инструменты -> Параметры -> IntelliTrace. По умолчанию он включен, однако фиксирует только события, поскольку фиксация событий обходится дешево. Однако когда вы начинаете отслеживать всю эту информацию о звонках, начинает проявляться ее реальная ценность. При каждой отладке появляется всплывающее окно IntelliTrace. Этот инструмент исторической отладки можно использовать во время динамической отладки. Допустим, я здесь и у меня есть точка останова, но я хочу создать резервную копию и перепроектировать эту точку останова, я могу использовать IntelliTrace для выполнения этой задачи.
Другие пользователи, которые записали свои процессы отладки с помощью IntelliTrace, могут отправлять вам записи, а также файлы .dll и pdbs, а вы можете воспроизводить их процессы. Процесс может войти в базу данных (у вас нет базы данных), он может быть настроен таким образом, что вы не сможете его скопировать, он может находиться в сети, к которой вы не можете подключиться, но вы этого не делаете. Вам не о чем беспокоиться, потому что у вас есть записи и файлы .dlls и pdbs, которые вы можете воспроизвести.
Конечно, лучше иметь исходный код, потому что тогда вы сможете видеть код так, как будто вы его отлаживаете на своей машине. Это отлично подходит для тех загадочных сбоев, которые нормально работают на вашей машине, но не на машинах других людей. Еще это очень хорошо для многопоточных ситуаций, причем по мере прохождения приложения программный глюк пропадает, но при работе на нормальной скорости программный глюк появляется снова.
По умолчанию IntelliTrace собирает только события, связанные с IntelliTrace. Это делается для того, чтобы объем собираемых данных был небольшим, а влияние на производительность было минимальным. Если вы решите также собирать данные при вызовах методов, помимо увеличения места, занимаемого временно собираемыми данными, влияние на производительность также будет больше. Хотя собираемые детали различаются, оба метода собирают некоторые общие данные. Например, он всегда будет собирать системную информацию при первом запуске процесса сбора, событиях загрузки и выгрузки модуля, времени начала и окончания потоков и т. д. При возникновении событий модуля и потока информация в окне отладки модуля и потока может корректно обновляться. Кроме того, в любом режиме данные также будут собираться в точках останова отладки, а собранные базовые типы данных и объекты будут проверяться и просматриваться во время отладки, и их значения можно будет изменить.
Вообще говоря, отладчик IntelliTrace создан специально для разработчиков программ. Благодаря своей уникальной функции исторической отладки он предоставляет разработчикам функцию контроля процесса отслеживания. Например, что делать, если 10 минут назад во время разработки в программе возникло исключение? Если раньше это обычно делалось путем ручного вызова оператора Debug.Write, то теперь в этом нет необходимости! Поскольку функции исторической отладки во многих инструментах разработки очень похожи, с помощью IntelliTrace в официальной версии VS2010 программисты могут не только видеть текущий статус программы, но и проверять события, генерируемые при определенных обстоятельствах, и даже изолировать точки сбоя в работе. история применения. Таким образом, после включения исторической отладки официальная версия VS2010 может захватывать стек вызовов и связанные с ним переменные. Мы можем вернуться на 10 или более минут до сохранения программы, чтобы проверить различные ситуации, когда в программе возникают исключения и сбои. Поскольку по умолчанию программа сохраняет только типы ключей, разработчик может регистрировать все параметры, объекты и глобальные переменные. Таким образом, IntelliTrace будет активно отображать ключевые события во время работы программы, такие как исключения кода, доступ к файлам, отладка в реальном времени и т. д.