Визуализация «if» в отладчике Visual Studio от BugAid

в 12:39, , рубрики: .net, BugAid, debugger, Visual Studio, visual studio 2012, visualization, метки: , , , , , ,

По следам поста Визуализация списков в отладчике Visual Studio или новое слово от «BugAid For Visual Studio», что бы чисто добить тему, хотелось бы рассмотреть возможности расширения BugAid для визуализации вычисления выражения в операторе if.

Допустим есть примерно такой код:

           if (IsError1() || IsError2())
            {
                // обработки ошибки
                // ...
            }

и часто в отладчике программист хочет знать какая именно ошибка была обнаружена: иными словами какая функция вернула true, а какая false.
Можно конечно кликнуть на вызов функции, открыть QuickWatch и посмотреть:
Визуализация «if» в отладчике Visual Studio от BugAid
а потом добивить скобочки
Визуализация «if» в отладчике Visual Studio от BugAid
итого я насчитал 6 нажатий.

Теперь тоже самое но с помощью расширения.
Внимание: расширения должно работать в "Full mode" режиме (включается через меню).

Визуализация «if» в отладчике Visual Studio от BugAid

всего 2 нажатия (за счет автоматического добавления скобок)!

Далее, если проходим строку c if с помощью команды «Step Over (F10)», появлятся иконка жучка.

Визуализация «if» в отладчике Visual Studio от BugAid

кликаем на иконку и визуализируем вычисление выражения:

Визуализация «if» в отладчике Visual Studio от BugAid

кликаем на стрелочку и визуализируем в немного другой форме:

Визуализация «if» в отладчике Visual Studio от BugAid

все тоже самое и для простого вычисления выражения:
Визуализация «if» в отладчике Visual Studio от BugAid
Визуализация «if» в отладчике Visual Studio от BugAid
Визуализация «if» в отладчике Visual Studio от BugAid

немного усложняем (добавляем параметры в функции):

bool errorFound = IsError1(xcode) || IsError2(ycode);

Визуализация «if» в отладчике Visual Studio от BugAid

ну и так далее.

как оказывается, что все это написано с помощью «CLR profiler API».

спасибо,
Игорь.

Автор: constructor

Источник

Поделиться

* - обязательные к заполнению поля