Часто задаваемые вопросы: средство поиска функций отладчика

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

Точки останова

Навигация по коду

  • Как узнать команды для пошагового выполнения кода при отладке?

    Дополнительные сведения см. в Навигация по коду с отладчиком.

  • Можно ли запустить код в определенную строку, пропуская точки останова, не удаляя или не отключая их?

    Для этих сценариев можно использовать "Принудительное выполнение на курсор". Точки останова можно сохранить, и отладчик пропустит их, пока не достигнет строки кода с курсором. Он также пропустит любые условия прерывания исключений первого шанса, которые могут возникнуть. Дополнительные сведения см. в Навигация по коду с отладчиком.

  • Если в моей строке кода есть вызовы различных методов, можно ли перейти к конкретному методу?

    Щелкните правой кнопкой мыши строку кода, чтобы открыть контекстное меню, которое позволяет выбрать "Шаг в конкретный". Откроется список всех методов, которые можно выполнить. Теперь можно выбрать нужный метод.

Проверка и визуализация данных

  • Как проверить значение переменных при запуске приложения?

    Наведите указатель мыши на переменные, используя подсказки данных или проверьте переменные в окне "Авто" и "Локальные".

  • Можно ли наблюдать изменение значения определенной переменной?

    Задайте часы для переменной. Дополнительные сведения см. в разделе Настройка часов для переменных.

  • Как просмотреть строки, слишком длинные для окна отладчика?

    Визуализатор строк показывает строки, слишком длинные для окна подсказки данных или отладчика. Кроме того, это поможет определить неправильно сформированные строки.
    Встроенный визуализатор строк в Visual Studio включает параметры Text, XML, HTML и JSON.

  • Как просмотреть большие объекты коллекции?

    Визуализатор набора данных позволяет просматривать содержимое набора данных, DataTable, DataView или DataViewManager. Визуализатор IEnumerable позволяет просматривать такие объекты, как массивы, списки и т. д. Дополнительные сведения см. в разделе табличные визуализаторы.

Отладка приложения, которое уже запущено

  • Как можно отлаживать запущенные приложения на локальных или удаленных компьютерах, выполнять отладку нескольких процессов одновременно, отладку приложений, которые не были созданы в Visual Studio, или отладить любое приложение, которое я не начал с Visual Studio?

    См. раздел Присоединение к запущенным процессам.

  • Как многократно подключиться к одному приложению?

    Вы можете использовать повторное присоединение к процессу (SHIFT+ALT+P), чтобы легко начать отладку приложения в одном щелчке, не используя диалоговое окно "Присоединение к процессу". См. раздел "Повторное присоединение к процессу".

Отладка многопоточных приложений

  • Как выполнить отладку многопоточного приложения? Или мое приложение находится в состоянии зависания?

    Дополнительные сведения об устранении неполадок см. в окне Parallel Stacks .

  • Как просмотреть порядок вызовов функций?

    См. Как просмотреть стек вызовов.

Анализ памяти

  • У моего приложения есть утечка памяти?

    Создайте снимок и откройте его с помощью инструмента анализа памяти для дальнейшего анализа и устранения неполадок. См. измерения использования памяти.

  • Как анализировать использование памяти для собственных или управляемых приложений?

    Используйте средство Visual Studio памяти с помощью динамической отладки, дампов кучи или профилировщика производительности.
    См. выбор средства анализа памяти.

  • Как проанализировать использование памяти для собственных или управляемых приложений без подключения отладчика? Используйте профилировщик производительности Visual Studio с включенным средством использования памяти.
    См. анализ использования памяти.

  • Можно ли сравнить использование памяти между двумя точками во времени?

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

Отладка внешнего кода

  • Можно ли просматривать только пользовательский код при отладке?

    Функция Just My Code в Visual Studio автоматически пропускает вызовы к системному, фреймворковому и другому непользовательскому коду. В окне стека вызовов Just My Code сворачивает эти вызовы в кадры [External Code]. См . только пользовательский код отладки с помощью Just My Code.

  • Как просмотреть или отладить необработанные инструкции сборки, выполняемые моей программой?

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

  • Могу ли я видеть исходный код библиотек .NET?

    Включите серверы символов Microsoft из отладки > Параметры > Символы, чтобы загружать символы и исходный текст для библиотек .NET. См. раздел "Указание символа".

  • Как загрузить PDB-файлы из определённого или общего места или сервера?

    Настройте серверы символов из параметров отладки >> символов. См. раздел "Указание символа".

  • Как можно сделать так, чтобы конкретный файл PDB никогда не загружался? Как я всегда могу загружать один и тот же файл?

    Настройте списки включения и исключения в параметрах отладки >> символов.
    См. раздел "Указание символа".

Настройка отладки

  • Как настроить параметры отладчика?

    Сведения о настройке параметров отладчика и параметров проекта отладчика см. в разделе параметры отладчика иподготовки.

  • Как настроить сведения, отображаемые в отладчике?

    Может потребоваться отобразить сведения, отличные от типа объекта, в качестве значения в разных окнах отладчика. Для кода C#Visual Basic, F#и C++/CLI используйте атрибут DebuggerDisplay. Для более сложных параметров можно также настроить пользовательский интерфейс, создав настраиваемый визуализатор. Для нативного C++ используйте платформу NatVis.

Дополнительные задачи

  • Нужно ли сохранить дамп?

    Остановившись в точке останова или ошибки во время отладки, выберите Отладка > Сохранить дамп как. См. файлы дампа.

  • Как проанализировать файл дампа?

    Откройте дамп, выбрав File > Open в Visual Studio. Чтобы начать отладку, выберите с использованием только управляемой отладки, с использованием только собственной отладки, смешанную отладку или отладку с помощью управляемой памяти. См. файлы дампа.

  • Можно ли изменять код во время сеанса отладки?

    Используйте Hot Reload, ранее называвшуюся Edit and Continue. Для XAML используйте XAML Hot Reload.

  • Как выполнить отладку на удаленных компьютерах?

    См. Удаленная отладка.

  • Как устранить проблемы с производительностью?

    Ознакомьтесь с инструментами профилирования.

  • Как исправить исключение?

    См. исправление исключения.

Отладка с помощью искусственного интеллекта

  • Как получить помощь по искусственному интеллекту при отладке?

    Если у вас есть Copilot, найдите кнопку Analyze с помощью Copilot или Ask Copilot в окнах отладчика, таких как помощник по обработке исключений, подсказки данных и окна с переменными. Copilot уже знает контекст отладки. См. Отладку с помощью Copilot.

  • Как использовать агент отладчика для комплексного разрешения ошибок?

    Агент отладчика предоставляет агентический рабочий процесс, который воспроизводит ошибки, инструментирует приложение и проверяет исправления с помощью данных динамической среды выполнения. Выберите Debugger в раскрывающемся списке режима в окне Copilot Chat и укажите ссылку на проблему или описать ошибку. См. раздел "Решение проблем с помощью агента отладчика".