Изучение и отладка кода, а также перемещение по нему, в визуальном режиме с помощью карт кода

Можно связи сопоставления в коде с помощью Visual Studio Ultimate.При создании сопоставления кода, они отображаются рядом с редактором кода.Это позволяет сосредоточиться на задаче, поскольку можно увидеть в место в коде во время работы.

Карта кода — карта отношений в коде

Сопоставления демонстрируют связи в коде и отображаются рядом с редактором кода. Зеленая стрелка указывает положение курсора в коде приложения. Можно задавать заметки в сопоставлении, как и на бумага.

Сопоставления кода помогают избежать заблудиться в крупных базах кода, малознакомом коде или кода прежних версий.Например, при отладке, можно просмотреть код во многих файлов и проектов.Сопоставления кода позволяют осуществлять переход вокруг этих частей кода и определения связи между ними.Не следует помнить весь этот код, тестовый отслеживание файлов, или создать отдельный бумажную схему.Если необходимо прервать работу, сопоставления кода с обновлением рабочей памяти о коде, с которой ведется работа.

Сопоставления кода контрольных значений в действии: Основные сведения о сложный код с сопоставлением кода каналу (9)

Требования

  • Visual Studio 2012,1 и одним из этих версий:

    • Visual Studio 2012 частое создание сопоставления кода в редакторе кода или из обозревателя решений.

      ПримечаниеПримечание

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

    • Visual Studio 2012 наградное или Visual Studio 2012 professional в сопоставления открытого кода, выполняет ограниченные правки и перемещаться код.

  • Решение с кодом Visual C#, visual basic .NET или Visual Basic .NET

Определение проблемы

Предположим, что ошибка в программе рисования которой работает пользователь.Чтобы воспроизвести ошибку, открытии решения в Visual Studio Ultimate и клавиши F5, чтобы начать отладку.

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

Карта кода — воспроизведение ошибки

Чтобы начать поиск исследовать с помощью метода Undo.Этот файл находится в классе PaintCanvas.

Карта кода — поиск кода

Запустите код сопоставления

Теперь запустите сопоставления метод undo и его связи.В редакторе кода добавьте метод undo и поля, он указывает на новое сопоставление кода.При создании нового сопоставления, он может занять некоторое время к индексу код.Это позволяет более поздней операциям выполняться быстрее.

Карта кода — отображение метода и соответствующих полей

СоветСовет

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

Карта кода — отображение подсказок

Перейдите и просмотрите код из сопоставления

Просмотреть определение кода для каждого поля, дважды щелкните поле в сопоставлении, или выберите поле и нажмите клавишу F12.Зеленая стрелка перемещается между элементами в сопоставлении.Курсор в редакторе кода также перемещается автоматически.

Карта кода — проверка определения поля

Карта кода — проверка определения поля

СоветСовет

Можно также переместить зеленая стрелка на сопоставлении, перемещение курсора в редакторе кода.

Определение связи между частями кода

Теперь необходимо знать, какие другой код взаимодействует с полями history и paintObjects.Можно добавлять любые методы, которые ссылаются на эти поля для сопоставления.Это можно сделать из сопоставления или из кода.

Карта кода — поиск всех ссылок

Изменить макет для изменения поток связей и выполнить сопоставление более удобным для чтения.Кроме того, элементы для перемещения сопоставления, перетаскивая их.

Карта кода — изменение макета

СоветСовет

По умолчанию Последовательный макет включается.Это сопоставление выполняет переупорядочивание как можно меньше при добавлении новых элементов.Для изменения все сопоставления каждый раз при добавлении новых элементов отключите Последовательный макет.

Карта кода — изменение макета

Рассмотрим следующий рассмотреть эти методы.В сопоставлении, дважды щелкните метод PaintCanvas или выберите этот метод и нажмите клавишу F12.Этот процесс, что этот метод создает объект history и paintObjects как пустые списки.

Карта кода — проверка определения метода

Теперь повторьте те же шаги, чтобы просмотреть определение метода clear.Этот процесс, clear выполняет некоторые задачи с помощью paintObjects и history.Затем он вызывает метод Repaint.

Карта кода — проверка определения метода

Теперь проверьте определение метода addPaintObject.Он также выполняет некоторые задачи с помощью history и paintObjects.Он также вызывает метод Repaint.

Карта кода — проверка определения метода

Найдите проблему путем анализа сопоставление

Он подозрение, что все методы, изменяющие history и вызвать метод RepaintpaintObjects.Однако метод undo не вызывается Repaint, даже если undo изменяет те же поля.Чтобы рассматривать можно решить эту проблему путем вызова метода Repaint из undo.

Карта кода — поиск отсутствующего вызова метода

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

Совместное использование обнаружение и следующие действия

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

Карта кода — комментирование и пометка элементов для отслеживания

Например, можно добавить комментарии к элементам сопоставления и флажка с помощью цвета.

Карта кода — помеченные элементы с комментариями

При наличии Microsoft Outlook, но можно почта сопоставление в другой.Можно также экспортировать сопоставление как изображение или другие формат.

Карта кода — общий доступ, экспорт, электронная почта

Устраните проблему и указание итоги

Для устранения этой ошибки следует добавить вызов для Repaint значение undo.

Карта кода — добавление отсутствующего вызова метода

Чтобы проверить и исправить, необходимо перезагрузить сеанс отладки и хотите воспроизвести ошибку.После выбора Отмена мой последний штрих работает, как ожидалось и определяется это выполнялось правильное исправление.

Карта кода — проверка исправления кода

Можно обновить сопоставление для отображения исправление сохранились.

Карта кода — обновление карты с учетом отсутствующего вызова метода

В сопоставление теперь отображает ссылку между отменить и Обновление.

Карта кода — обновленная карта с вызовом метода

ПримечаниеПримечание

При обновлении сопоставление, можно увидеть, что сообщение, которое указывает индекс кода, используемый для создания в сопоставление было обновлено.Это означает, что кто-то изменил код, который вызывает в сопоставление не соответствовать текущий код.Это не останавливается, из обновить сопоставление, но возможно повторное сопоставление, чтобы убедиться, что он соответствует коду.

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

См. также

Основные понятия

Визуализация и понимание кода