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


Общие параметры отладки

Чтобы задать параметры отладчика Visual Studio, выберите Инструменты>Параметрыи в разделе Отладка выберите или снимите флажки рядом с параметрами из списка Общие. Вы можете восстановить все параметры по умолчанию с помощью Инструменты >Импорт и Экспорт настроек>Сброс всех настроек. Чтобы сбросить подмножество настроек, сохраните их с помощью мастера импорта и экспорта настроек перед внесением изменений, которые хотите протестировать, а затем импортируйте сохраненные настройки.

Можно задать следующие параметры общие:

Запрос перед удалением всех точек останова: требуется подтверждение перед выполнением команды удалить все точки останова.

Прерывать все процессы при разрыве одного процесса: одновременно прерывает все процессы, к которым подключен отладчик, при возникновении разрыва.

Остановка, если исключения пересекают границы домена приложения или управляемые/собственные границы: в управляемом или смешанном режиме отладки среда выполнения CLR может перехватывать исключения, пересекающие границы домена приложения или управляемые/собственные границы, если выполняются следующие условия:

  1. Когда нативный код вызывает управляемый код с помощью COM-взаимодействия, а управляемый код выбрасывает исключение. См. Введение в КОМ-Interop.

  2. Когда управляемый код, выполняющийся в домене приложения 1, вызывает управляемый код в домене приложения 2, и код в домене приложения 2 вызывает исключение. См. Программирование с доменами приложений.

  3. Когда код вызывает функцию с помощью отражения, и эта функция создает исключение. См. отражение.

В условиях 2 и 3 исключение иногда перехватывалось управляемым кодом в mscorlib, а не средой CLR. Данный параметр не влияет на остановку выполнения при исключениях, пойманных с помощью mscorlib.

Включить отладку на уровне адресов: включает расширенные функции для отладки на адресном уровне (окно Дизассемблера, окно Регистров и точки останова адресов).

  • Показать дизассемблер, если исходный код недоступен: автоматически отображает окно дизассемблера при отладке кода, для которого исходный код недоступен.

Включить фильтры точек останова: позволяет задавать фильтры на точках останова, чтобы они влияли только на определенные процессы, потоки или компьютеры.

использовать новый вспомогательный элемент исключений: включает элемент помощника по исключениям, заменяющий ассистента по исключениям. (Вспомогательное средство исключений поддерживается начиная с Visual 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 может привести к выполнению произвольного кода в этих файлах, убедитесь, что вы доверяете серверу.

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

  • Разрешить исходный сервер для сборок с частичным доверием (только управляемые): При включенной поддержке исходного сервера этот параметр переопределяет поведение по умолчанию, которое не позволяет извлекать исходные данные для сборок с частичным доверием.

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

Включить поддержку Source Link: сообщает отладчику Visual Studio загрузить исходные файлы для PDB-файлов, содержащих сведения о Source Link. Для получения дополнительных сведений об исходной ссылке см. спецификацию исходной ссылки.

Важный

Так как ссылка на источник будет загружать файлы по протоколам HTTP или HTTPS, убедитесь, что вы доверяете файлу .pdb.

  • возвращаться к аутентификации с помощью диспетчера учетных данных Git для всех запросов Source Link: если включена поддержка Source Link, а запрос Source Link завершается ошибкой аутентификации, 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.

использовать режим управляемой совместимости: заменяет модуль отладки по умолчанию устаревшей версией, чтобы включить следующие сценарии:

  • Вы используете язык .NET, отличный от C#, Visual Basic или F#, который предоставляет собственный средство оценки выражений (включая C++/CLI).

  • Вы хотите включить функцию "Редактировать и продолжить" для проектов C++ во время отладки в смешанном режиме.

Заметка

Выбор режима управляемой совместимости отключает некоторые функции, реализованные только в обработчике отладки по умолчанию. Устаревший модуль отладки был заменен в Visual Studio 2012.

Предупреждать при использовании пользовательских визуализаторов отладчика для потенциально небезопасных процессов (только управляемые): Visual Studio предупреждает вас, когда вы используете пользовательский визуализатор отладчика, который выполняет код в отлаживаемом процессе, так как он может выполнять небезопасный код.

Включить отладочную кучу Windows (только для нативного кода): для улучшения диагностики кучи. Включение этого параметра влияет на производительность отладки.

Включить средства отладки интерфейса пользователя для XAML. При запуске отладки (F5) появятся окна "Живое визуальное дерево" и "Изучение живых свойств" для поддерживаемых типов проектов. Дополнительные сведения см. в разделе Проверка свойств XAML при отладке.

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

  • Показывать средства выполнения в приложении: отображает команды динамического визуального дерева на панели инструментов в главном окне отлаживаемого приложения XAML.

  • Включить горячую перезагрузку XAML: позволяет использовать функцию горячей перезагрузки XAML с кодом XAML при запуске приложения. (Эта функция ранее называлась "XAML Редактирование и продолжение")

  • Включить только мой 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 на передний план при остановке в отладчике.

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

Параметры, доступные в более ранних версиях Visual Studio

Если вы используете более раннюю версию Visual Studio, некоторые дополнительные параметры могут присутствовать.

Включить средства разработчика Microsoft Edge для приложений JavaScript UWP (экспериментальные): Включает средства разработчика для приложений JavaScript UWP в Microsoft Edge.

Включить классический отладчик JavaScript для ASP.NET в Chrome: включает классический отладчик JavaScript для приложений ASP.NET. При первом использовании в Chrome может потребоваться войти в браузер, чтобы включить установленные расширения Chrome.

Включить помощник по исключению: для управляемого кода включает помощник по исключению. Начиная с Visual Studio 2017 помощник по исключениям заменил ассистент по исключениям.

Размотайте стек вызовов при необработанных исключениях: это вызывает окно стека вызовов, чтобы откатить стек вызовов до точки перед возникновением необработанного исключения.

Использовать экспериментальный способ запуска отладки Chrome JavaScript при запуске Visual Studio в качестве администратора: Указывает Visual Studio попробовать новый метод запуска Chrome во время отладки JavaScript-кода.

Предупреждать, если при запуске нет символов (только для собственных приложений): Отображается диалоговое окно предупреждения при отладке программы, для которой отладчик не имеет информации о символах.

Предупреждать, если отладка скрипта отключена при запуске: отображается диалоговое окно предупреждения при запуске отладчика с отключенной отладкой скрипта.

использовать режим управляемой совместимости. При выборе этого параметра отладчик использует управляемый отладчик Visual Studio 2010, который был необходим при отладке кода C++/CLI.

использовать режим собственной совместимости. Если выбран этот параметр, отладчик использует собственный отладчик Visual Studio 2010 вместо нового собственного отладчика.

  • Используйте этот параметр при отладке кода .NET C++, так как новый обработчик отладки не поддерживает оценку выражений .NET C++ . Однако включение режима собственной совместимости отключает множество функций, зависящих от текущей реализации отладчика для работы. Например, устаревший модуль не имеет множества визуализаторов для встроенных типов, таких как std::string в проектах Visual Studio 2015. Используйте проекты Visual Studio 2013 для оптимальной отладки в этих случаях.

См. также