Всю мощь от помощи отладчика я увидел и прочувствовал недавно, когда нужно было портировать полубаговый код из одной системы (без ОС) в другую (embox). Язык - Си++. Отладчик - разновидность gdb через OpenOCD. Оглядываясь назад, и видя теперь ту прорву работы по аналитике совершенно незнакомого и недокументированного кода, я просто прихожу в ужас, от осознания того, во что могла превратиться наша жизнь, если бы мы положились бы только на логи. При том, что, по сути-то, нам не было, через что их выбрасывать на инструментальную машину - ВСЯ периферия, хоть как-то способная к передаче данных была занята. Ни одного свободного пина не осталось!
Ещё раз конкретизирую:
Когда код - "свой", разрабатывается с нуля и/или хорошо документирован, то можно использовать диагностические сообщение, что-то "посмертное" и логи.
Если же система "свалилась" от типовых "гениев ИТ", не утруждающих себя излишней заботой об описаниях и диаграммах, то пошаговый отладчик, часто, оказывается единственным спасением.

Кстати, кто-то что-то подобное doxygen-y для Delphi (приличного качества) встречал?