Изменить

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


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

В этой документации рассматриваются часто задаваемые вопросы об отладке функций в Visual Studio. Он также сопоставляет задачи отладки или проблемы с соответствующей функцией в отладчике 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, которая автоматически выполняет шаги по вызовам системы, платформы и другого кода, отличного от пользователя. В окне стека вызовов только мой код сворачивает эти вызовы в кадры [внешний код]. См. раздел Отладка только пользовательского кода с помощью JIT-

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Сохранить дамп?

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

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

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

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

    Используйте изменить и продолжить. Для XAML используйте горячей перезагрузки XAML.

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

    См. удаленной отладки.

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

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

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

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