Общие параметры отладки
Чтобы задать параметры отладчика Visual Studio, выберите Сервис>Параметры и в окне Отладка установите или снимите флажки рядом с параметрами Общие. Чтобы восстановить параметры по умолчанию, выберите Сервис>Импорт и экспорт параметров>Сбросить все параметры. Если требуется сбросить несколько параметров, сохраните их в мастере импорта и экспорта параметров перед внесением изменений, которые нужно протестировать, а затем импортируйте сохраненные параметры.
В частности, можно задать Общие параметры:
Попросите перед удалением всех точек останова: требуется подтверждение перед завершением команды "Удалить все точки останова ".
Прерывать все процессы при разрыве одного процесса: одновременно прерывает все процессы, к которым подключен отладчик, при возникновении разрыва.
Разрыв при пересечении исключений между доменом приложения или управляемыми или собственными границами: в отладке управляемого или смешанного режима среда cl language может перехватывать исключения, пересекающие границы домена приложения или управляемые или собственные границы, если выполняются следующие условия:
Машинный код вызывает управляемый код с использованием COM-взаимодействия; при этом в управляемом коде возникает исключение. См. Знакомство с COM-взаимодействием.
Управляемый код, выполняемый в домене приложения 1, вызывает управляемый код домена приложения 2; при этом в управляемом коде домена приложения 2 возникает исключение. См. Программирование с использованием доменов приложений и сборок.
Код вызывает функцию с помощью отражения, и эта функция создает исключение. См. Отражение.
В условиях 2 и 3 исключения иногда перехватываются управляемым кодом в библиотеке mscorlib
вместо среды CLR. Этот параметр не влияет на прерывание по исключениям, перехватываемым с помощью библиотеки mscorlib
.
Включение отладки на уровне адресов: включает расширенные функции для отладки на уровне адреса (окно дизассемблирования, окно регистрации и точки останова адресов).
- Показывать дизассемблированный код, если исходный код недоступен — если вы будете выполнять отладку кода при отсутствии исходного кода, будет автоматически отображаться окно Дизассемблирование.
Включение фильтров точек останова: позволяет задавать фильтры на точках останова, чтобы они влияли только на определенные процессы, потоки или компьютеры.
Используйте новый вспомогательный элемент исключения: включает вспомогательный элемент исключения, заменяющий исключение помощник. (Вспомогательное приложение для исключений поддерживается, начиная с Studio 2017)
Примечание.
Для управляемого кода этот параметр раньше назывался Включить помощник по исключениям.
Включите только мой код: отладчик отображает и выполняет шаги только в пользовательском коде ("Мой код"), игнорируя системный код и другой код, оптимизированный или не содержащий символов отладки.
- Выводить предупреждение, если пользовательский код отсутствует при запуске (только управляемый код) — при запуске отладки с включенным режимом "Только мой код" выводится предупреждение в случае отсутствия кода пользователя ("Мой код").
Включите платформа .NET Framework пошаговые шаги источника: позволяет отладчику перейти к платформа .NET Framework источнику. Если включить этот параметр, параметр "Только мой код" автоматически отключается. Символы .NET Framework будут загружены в расположение кэша. Изменить расположение кэша можно в диалоговом окне Параметры, категория Отладка, страница Символы.
Шаг над свойствами и операторами (только управляемыми) — запрещает отладчику переходить к свойствам и операторам в управляемом коде.
Включите оценку свойств и другие неявные вызовы функций: включает автоматическую оценку свойств и неявные вызовы функций в окнах переменных и диалоговом окне QuickWatch .
- Вызов функции преобразования строк для объектов в окнах переменных (только C# и JavaScript): выполняет неявный вызов преобразования строк при оценке объектов в окнах переменных. Результат отображается в виде строки, а не имени типа. Применимо только при отладке кода C#. Этот параметр можно переопределить с помощью атрибута DebuggerDisplay (см. раздел Использование атрибута DebuggerDisplay).
Включите поддержку исходного сервера: сообщает отладчику Visual Studio получить исходные файлы с исходных серверов, реализующих протокол SrcSrv (srcsrv.dll
). Team Foundation Server и инструменты отладки для Windows — два исходных сервера, которые реализуют этот протокол. Дополнительные сведения о настройке SrcSrv см. в документации по SrcSrv. Кроме того, см. статью Указание файлов символов (PDB) и исходных файлов.
Важно!
Так как при чтении PDB-файлов может выполняться произвольный код в файлах, убедитесь, что вы доверяете серверу.
Выводить диагностические сообщения сервера системы управления версиями в окно "Вывод" — при включенной поддержке сервера системы управления версиями данный параметр включает вывод диагностических сведений.
Разрешить выполнение частично доверенных сборок (только управляемых) на исходном сервере — если поддержка сервера системы управления версиями включена, этот параметр переопределяет поведение по умолчанию, при котором не извлекается исходный код для частично доверенных сборок.
Всегда выполнять ненадежные команды исходного сервера без запроса — если поддержка исходного сервера включена, этот параметр переопределяет поведение по умолчанию, при котором появляется запрос на выполнение недоваренной команды.
Включение поддержки исходного канала: сообщает отладчику Visual Studio скачать исходные файлы для PDB-файлов , содержащих сведения о исходном канале. Дополнительные сведения о ссылках на источник см. в разделе Спецификация ссылок на источник.
Важно!
Поскольку ссылка на источник будет скачивать файлы с помощью HTTP или HTTPS, убедитесь, что вы доверяете файлу PDB.
- Вернуться к проверке подлинности с помощью диспетчера учетных данных Git для всех запросов со ссылкой на источник — если включена поддержка ссылок на источник и запрос ссылки на источник не проходит проверку подлинности, Visual Studio вызывает диспетчер учетных данных Git.
Выделите всю исходную строку для точек останова и текущей инструкции (только C++): когда отладчик выделяет точку останова или текущую инструкцию, она выделяет всю строку.
Требовать, чтобы исходные файлы соответствовали исходной версии: сообщает отладчику, чтобы убедиться, что исходный файл соответствует версии исходного кода, используемой для сборки исполняемого файла, который выполняется отладка. Если версия не соответствует, отображается запрос на поиск соответствующего исходного кода. Если соответствующий исходный код не найден, в процессе отладки исходный код не отображается.
Перенаправьте весь текст окна вывода в окно интерпретации: отправляет все сообщения отладчика, которые обычно отображаются в окне вывода в окно интерпретации.
Показать необработанную структуру объектов в окнах переменных: отключает все настройки представления структуры объектов. Дополнительные сведения см. в статье Создание настраиваемых представлений управляемых объектов.
Подавление оптимизации JIT при загрузке модуля (только для управляемого): отключает оптимизацию JIT управляемого кода при загрузке модуля и компиляции JIT во время подключения отладчика. Отключение оптимизации позволяет упростить процесс отладки некоторых проблем, однако может отрицательно сказаться на производительности. В режиме "Только мой код" при отключении JIT-оптимизации в коде пользователя ("Мой код") может отображаться посторонний код. Дополнительные сведения см. в разделе JIT-оптимизация и отладка.
Включите отладку JavaScript для ASP.NET (Chrome, Microsoft Edge и IE): включает отладчик скрипта для приложений ASP.NET. При первом использовании в Chrome может потребоваться войти в браузер, чтобы включить установленные расширения Chrome. Отключите этот параметр, чтобы вернуться к предыдущему поведению.
Включить использование многоцелевого отладчика JavaScript для отладки JavaScript в соответствующих целевых объектах (требуется перезагрузка при отладке). Одновременное подключение к браузеру и серверной части для отлаживания кода, выполняемого на клиенте и сервере, непосредственно в редакторе.
Загрузка экспортов dll (только для машинного кода): загружает таблицы экспорта dll. Символьные данные из таблиц экспорта библиотеки DLL можно использовать при работе с сообщениями Windows, процедурами Windows (WindowProcs), COM-объектами, при маршалинге или при работе с любой библиотекой DLL, для которой нет символов. Считывание данных экспорта библиотеки DLL связано с определенными дополнительными затратами. Поэтому данная возможность по умолчанию отключена.
Чтобы посмотреть, какие символы доступны в таблице экспорта библиотеки DLL, воспользуйтесь командой dumpbin /exports
. Символы доступны для любой 32-разрядной системной библиотеки DLL. В выходных данных команды dumpbin /exports
можно увидеть точное имя функции, включая символы, отличные от буквенно-цифровых. Это полезно при задании точки останова в функции. Имена функций из таблиц экспорта библиотеки DLL могут отображаться в отладчике в сокращенном виде. Вызовы функций перечисляются в том порядке, в котором эти функции вызываются, при этом текущая функция (наиболее глубоко вложенная) располагается наверху. Дополнительные сведения см. в разделе dumpbin /exports.
Отображение диаграммы параллельных стеков внизу: управляет направлением, в котором стеки отображаются в окне Параллельных стеков .
Игнорировать исключения доступа к памяти GPU, если записанные данные не изменили значение: игнорирует условия гонки, обнаруженные во время отладки, если данные не изменились. Дополнительные сведения см. в разделе Отладка кода GPU.
Используйте режим управляемой совместимости: заменяет модуль отладки по умолчанию устаревшей версией, чтобы включить следующие сценарии:
Вы используете отличный от C#, Visual Basic и F# язык .NET, который предоставляет собственный вычислитель выражений (в том числе C++/CLI).
Необходимо включить операцию "Изменить и продолжить" для проектов C++ в смешанном режиме отладки.
Примечание.
Выбор режима совместимости управляемого кода приводит к отключению некоторых возможностей, реализованных только в ядре отладки по умолчанию. Модуль отладки прежних версий был заменен в Visual Studio 2012.
Предупреждайте при использовании визуализаторов пользовательского отладчика для потенциально небезопасных процессов (только для управляемых): Visual Studio предупреждает вас при использовании пользовательского визуализатора отладчика, выполняющего код в отладчике, так как он может выполнять небезопасный код.
Включите отладочный кучи Windows (только для машинного кода) — позволяет отладочной куче windows улучшить диагностика кучи. Включение этого параметра повлияет на производительность отладки.
Включить средства отладки пользовательского интерфейса для XAML: динамическое визуальное дерево и окна "Обзор динамических свойств" будут отображаться при запуске отладки (F5) поддерживаемого типа проекта. Дополнительные сведения см. в разделе Просмотр свойств XAML во время отладки.
Предварительный просмотр выбранных элементов в динамическом визуальном дереве — элемент XAML, контекст которого выбран, также выбирается в окне Динамическое визуальное дерево.
Отображение инструментов среды выполнения в приложении: отображаются команды динамического визуального дерева на панели инструментов в главном окне отлаживаемого приложения XAML.
Включение xaml Горячая перезагрузка. Позволяет использовать функцию XAML Горячая перезагрузка с кодом XAML при запуске приложения. (Эта функция ранее называлась функцией XAML "Изменить и продолжить".)
Включить JIT XAML: начиная с Visual Studio 2019 версии 16.4, в динамическом визуальном дереве по умолчанию отображается только XAML, классифицируемый как пользовательский код. Если этот параметр отключен, весь созданный код XAML отображается в средстве.
Отключить режим выбора при выборе элемента. Начиная с Visual Studio 2019 версии 16.4, кнопка выбора элемента панели инструментов в приложении (Включить выделение) отключается, если элемент выбран. Если вы отключаете этот параметр, выбор элементов остается включенным, пока не будет снова нажата кнопка панели инструментов в приложении.
Применить Горячую перезагрузку XAML при сохранении документа. Начиная с Visual Studio 2019 версии 16.6, при сохранении документа применяется горячая перезагрузка XAML.
Включить средства диагностики во время отладки: во время отладки появится окно средств диагностики.
Отображение истекшего времени PerfTip во время отладки: в окне кода отображается истекшее время вызова метода при отладке.
Включение правки и продолжения. Включает функцию "Изменить и продолжить" во время отладки.
Включение собственного редактирования и продолжения. При отладке собственного кода C++ можно использовать функцию "Изменить и продолжить". Дополнительные сведения см. в статье Изменить и продолжить (C++).
Примените изменения к продолжению (только в собственном коде): Visual Studio автоматически компилирует и применяет все выдающиеся изменения кода, внесенные при продолжении процесса из состояния останова. Если этот параметр не выбран, можно применить изменения с помощью пункта Применить изменения кода в меню Отладка.
Предупреждать об устаревшем коде (только машинный код) — получение предупреждений об устаревшем коде.
Отображение кнопки "Запустить к нажатию" в редакторе во время отладки: при выборе этого параметра при отладке будет отображаться кнопка "Запустить к щелчку ".
Автоматически закройте консоль при остановке отладки: сообщает Visual Studio закрыть консоль в конце сеанса отладки.
Включение быстрой оценки выражений (только управляемое): позволяет отладчику выполнять более быструю оценку путем имитации выполнения простых свойств и методов.
Загрузить символы отладки во внешнем процессе (только машинный код). Включение оптимизации памяти во время отладки.
Переводить приложение Visual Studio на передний план при срабатывании точки останова в отладчике. Переключение Visual Studio на передний план при приостановке в отладчике.
Keep expanded data tips open until clicked away (Не закрывать развернутые советы по данным до нажатия) — если установлен этот параметр, совет данных остается развернутым, пока вы не щелкните его.
Параметры, доступные в Visual Studio предыдущих версий
Если вы используете более раннюю версию Visual Studio, у вас могут быть дополнительные параметры.
Включение средств разработчика Edge для приложений JavaScript UWP (экспериментальная версия): включает средства разработчика для приложений JavaScript UWP в Microsoft Edge.
Включите устаревший отладчик JavaScript Chrome для ASP.NET: включает устаревший отладчик скрипта JavaScript Chrome для приложений ASP.NET. При первом использовании в Chrome может потребоваться войти в браузер, чтобы включить установленные расширения Chrome.
Включите исключение помощник. Для управляемого кода включает помощник исключения. Начиная с Visual Studio 2017, вспомогательное приложение по исключениям заменяет помощник по исключениям.
Отмена стека вызовов при необработанных исключениях: приводит к откату стека вызовов до точки до того, как произошло необработанное исключение.
Используйте экспериментальный способ запуска отладки JavaScript Chrome при запуске Visual Studio в качестве Администратор istrator: сообщает Visual Studio, чтобы попробовать новый способ запуска Chrome во время отладки JavaScript.
Предупреждайте, если символы при запуске (только в собственном коде): отображает диалоговое окно предупреждения при отладке программы, для которой отладчик не имеет сведений о символах.
Предупреждайте, отключена ли отладка скрипта при запуске: отображается диалоговое окно предупреждения при запуске отладчика с отключенной отладкой скрипта.
Используйте режим управляемой совместимости: при выборе этого параметра отладчик использует управляемый отладчик Visual Studio 2010, который был необходим при отладке кода C++/CLI.
Используйте режим собственной совместимости: если выбран этот параметр, отладчик использует собственный отладчик Visual Studio 2010 вместо нового собственного отладчика.
- Этот параметр следует использовать при отладке кода .NET C++, так как новое ядро отладки не поддерживает вычисление выражений .NET C++. Однако включение режима совместимости машинного кода отключает множество функций, которые зависят от работы текущей реализации отладчика. В частности, в предыдущих версиях ядра отсутствуют многие визуализаторы для встроенных типов, таких как
std::string
в проектах Visual Studio 2015. В этих случаях для оптимальной производительности отладки используйте проекты Visual Studio 2013.