четвер, 12 березня 2009 р.

Кольорові Breakpoints

От я не розумію, чого ніхто не придумав іще таку штууку щоб при дебазі breakpoints можна було групувати?! Мегафіча, МЕГА! Як би було круто: зараз тут пропускаємо жовті, а отам виконуємо сині. Червоні - виконуються завжди. Це було б просто спасіння!

6 коментарів:

ffinder сказав...

ну да. развивая мысль - код (фон под буквами) красить тоже:
красный - опасные выкрутасы, ошибки
зеленый - недавно за"commit"енный
коричневый - ну говнокод например отмечать.
если вдруг что - копирайты мои :-)

Farfurkis сказав...

В IDEA це вже є - там спеціальний інспектор коду його аналізує.
Показує всякі проблеми і перед комітом також видає звіт про проблеми з пропозицією виправити.

Erraen сказав...

Вопрос в том, нужны ли бряки насколько, чтобы использовать их вместо логов. Где уровни (critical,error,warning,info,debug, etc...) давно придуманы и подробность логирования віставляется в конфиге.

Farfurkis сказав...

В режиме Debug гораздо проще посмотреть текущее состояние переменных, а таккже незаменимая фича - изменить их значение "на-лету".

Пример: у меня внутири цикла - проблема. Breakpoints поставлены внутри цикла (много) и на выходе из цикла.

Чего хочется: во время первого (второго, третьего...) прохода по циклу чтобы "внутренние" breakpoints не срабатывали, но включились когда мне станет нужно (например детально просмотреть третий проход по циклу).

Что сейчас возможно (IDEA): вручную ставить disable на все внутренние breakpoints, а на третьем проходе возвращать им всем активность.

Да, в редакторе есть возможность разрешать/запрещать их фильтруя по методу, классу и пакету, но это реализовано не очень удобно и, честно говоря, не совсем то что мне нужно. Хотелось бы и так и эдак :-)

ffinder сказав...

тогда тебе нужны conditional breakpoints. поищи. должны быть.

Farfurkis сказав...

Они есть но очень неудобные:
* их долго создавать (указать нужные, указать condition);
* нет документации (в разделе про breakpoints справки ничего не написано - только упоминание что они есть);

а хотелось бы просто: выбрал место - выбрал цвет и потом по цветам disable. Механизм слабее conditional зато интуитивно понятен (мне :-) ) и не требует значительных усилий.

Сейчас условие выглядит примерно так:
http://java.dzone.com/sites/all/files/images/condition_dialog2.jpg (рисунок из статьи)

В общем-то для моего примера выше можно успешно применить conditional breakpoints, но мне они кажутся неочевидными.