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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Можно ли просмотреть исходный код для библиотек .NET?

    Включите серверы символов Майкрософт в параметрах отладки > в разделе Символы >, чтобы скачать символы и исходный код для библиотек .NET. См. раздел Указание символа

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

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

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

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

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

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

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

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

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

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