Debugger Canvas – новый способ отладки кода в Visual Studio

    • Visual Studio
    • Visual Studio 2010
    • Debugger Canvas
    • Debugging
    • Visual Studio Extensions
  • modified:
  • reading: 2 minutes

Debugger Canvas – это достаточно интересный способ отладки приложений (и не только). Этот плагин для Visual Studio Ultimate дает немного, пока для меня, необычный способ пошаговой отладки в Visual Studio. После установки этого расширения в Visual Studio ничего настраивать не нужно, а увидеть его работу можно сразу же после запуска приложения под отладчиком и установки точки останова. Debugger Canvas автоматически откроет в Visual Studio отдельный таб со своей функциональностью. Идея этого расширения в том, что оно открывает каждый отлаживаемый метод в отдельной области, позволяя на одном экране проследить цепочку вызовов методов (call stack) и более того иметь возможность просматривать значения локальных переменных в предыдущих методах по цепочке, если вы проходили их под отладчиком.

Более понятно будет, посмотрев на скриншот работы этого расширения для Visual Studio (скриншот взят из блога на MSDN [1]):

DebuggerCanvas%20

Идея подобной отладки разработана в MS Research совместно с университетом Brown. Этот плагин для Visual Studio работает пока хорошо, но нужно учитывать, что это только Альфа версия, стабильности от нее ожидать не стоит. На данный момент из коробки работает:

  • Возможность экспорта текущего окна в XPS файл. Не скажу, что работает отлично. Скажем так, экспортирует, но есть пожелания. Функциональность доступна через нажатие правой клавиши мыши в окне Debugger Canvas.

XPS Sample

  • Возможность создавать Sticky Notes. Чтобы вызвать так же правой кнопкой мыши в окне Debugger Canvas. Это, видимо, было добавлено для того, чтобы была возможность добавления осмысленных комментариев, когда отправляешь XPS файл кому-нибудь.
  • Возможность делать snapshots локальных переменных методов. Более того, эти снимки значений переменных видны между сессиями. Выглядит это, примерно, так (смотрим на последние два столбца Locals for Do)

Snapshoot

  • Методы в окно Debugger Canvas можно добавлять через Go To Defninition и Find All References.

Более того, этой функциональностью Debugger Canvas не собирается нас ограничивать, в будущем будут доступны две функции: возможность редактирования прямо в этих окошках, а так же возможность лазить по данным IntelliTrace в Debugger Canvas. Редактирование в окошках можно включить и сейчас, но на свой страх и риск, так как эта функциональность может уронить Visual Studio, включить его можно в настройках Debugger Canvas:

Settings

Бесспорно, многие пользователи Visual Studio расстроились из-за того, что Debugger Canvas доступен только в Ultimate редакции. Все дело в том, что нынешняя версия реализована над Visual Studio Ultimate, а точнее она использует Dependency Diagrams [1]. Все-таки должны быть в Ultimate версии какие-то плюшки.

Ссылки:

  1. Debugger Canvas on DevLabs (блог в msdn)
  2. DevLabs: Debugger Canvas (официальная страница на DevLabs, рекомендую посмотреть видео, оттуда же устанавливать)
  3. Debugger Canvas (официальный сайт на Microsoft Research, очередное видео)

Если существуют проблемы с этим плагином или просто есть пожелания, то поделиться этим можно на форумах Debugger Canvas.

See Also