Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для визуального отслеживания стека вызовов при отладке можно создать карту кода. В это сопоставление можно вносить примечания для отслеживания операций, выполняемых кодом. Таким образом, вы сможете сосредоточиться на поиске ошибок.
Что вам понадобится:
Код, который можно отлаживать, например Visual C#, Visual Basic, C++, JavaScript или X++
См.
-
Дополнительные сведения о командах и действиях, которые можно использовать при работе с картами кода, см. в статье "Обзор и изменение порядка карт кода".
Сопоставление стека вызовов
Запустите отладку. (Клавиатура: F5)
После того как приложение войдет в режим останова или вы войдете в функцию, выберите "Карта кода". (Клавиатура: CTRL + SHIFT + `)
Текущий стек вызовов выделен в новой карте кода оранжевым цветом:
Эта карта будет автоматически обновляться в ходе отладки. См . сведения об обновлении карты с помощью следующего стека вызовов.
Создание заметок о коде
Добавьте примечания для отслеживания того, что происходит в коде. Чтобы добавить новую строку в комментарий, нажмите клавиши SHIFT+RETURN.
Обновление карты с помощью следующего стека вызовов
Выполните приложение до следующей точки останова или зайдите в функцию. В сопоставление будет добавлен новый стек вызовов.
Добавление связанного кода на карту
Теперь у вас есть карта - что дальше? Если вы работаете с C# или Visual Basic, добавьте элементы, такие как поля, свойства и другие методы, чтобы отслеживать, что происходит в коде.
Дважды щелкните метод для просмотра его определения кода или используйте контекстное меню метода. (Клавиатура: выберите метод на карте и нажмите клавишу F12)
Добавьте элементы, которые необходимо отслеживать в сопоставлении.
Примечание.
По умолчанию при добавлении элементов в сопоставление также добавляются узлы родительской группы, соответствующие, например, классу, пространству имен или сборке. Хотя это полезно, вы можете сохранить карту простой, отключив эту функцию с помощью кнопки "Включить родители " на панели инструментов карты или нажав клавиши CTRL при добавлении элементов.
Нетрудно определить, какие методы используют одинаковые поля. Последние добавленные элементы отображаются зеленым цветом.
Продолжайте формировать сопоставление, чтобы увидеть дополнительный код.
Поиск ошибок с помощью карты
Визуализация кода поможет вам быстрее находить ошибки. Например, предположим, что вы изучаете ошибку в программе рисования. Когда вы создаете линию и пробуете отменить ее создание, ничего не происходит до тех пор, пока не будет нарисована следующая линия.
Установив точки останова в методах clear
, undo
и Repaint
, вы начинаете отладку и создаете сопоставление, аналогичное представленному ниже:
Учтите, что все жесты пользователя в сопоставлении вызывают метод Repaint
, за исключением undo
. Возможно, именно поэтому функция undo
срабатывает не сразу.
Когда вы исправите ошибку и продолжите выполнение программы, в сопоставление будет добавлен новый вызов из undo
в Repaint
.
Вопросы и ответы
На карте отображаются не все вызовы. Почему?
По умолчанию в сопоставлении отображается только ваш код. Чтобы просмотреть внешний код, включите его в окне стека вызовов:
или отключите включение только моего кода в параметрах отладки Visual Studio:
Влияет ли изменение карты на код?
Изменение карты не влияет на код каким-либо образом. Можно свободно переименовать, изменить или удалить любой элемент в сопоставлении.
Что означает это сообщение: "Схема может быть основана на старой версии кода"?
С момента последнего обновления сопоставления код мог измениться. Например, вызов в сопоставлении может уже не существовать в коде. Закройте сообщение, а затем попытайтесь повторить сборку решения, прежде чем повторно обновлять сопоставление.
Разделы справки управлять макетом карты?
Откройте меню макета на панели инструментов карты:
Измените макет по умолчанию.
Чтобы остановить автоматическое переупорядочение карты, отключите автоматический макет при отладке.
Чтобы изменить порядок сопоставления как можно меньше при добавлении элементов, отключите добавочный макет.
Можно ли поделиться картой с другими пользователями?
Вы можете экспортировать карту, отправить ее другим пользователям, если у вас есть Microsoft Outlook, или сохранить ее в решении, чтобы вы могли проверка его в систему управления версиями.
Разделы справки остановить добавление новых стеков вызовов автоматически?
Выберите
на панели инструментов карты. Чтобы вручную добавить текущий стек вызовов на карту, нажмите клавиши CTRL + SHIFT + `.
Карта будет продолжать выделять существующие стеки вызовов на карте во время отладки.
Что означают значки и стрелки элементов?
Чтобы получить дополнительные сведения о элементе, переместите указатель мыши на него и просмотрите подсказку элемента. Вы также можете просмотреть условные обозначения , чтобы узнать, что означает каждый значок.
См.