неужели отладчик - зло?
использование отладчика
Модератор: Модераторы
- Сергей Смирнов
- энтузиаст
- Сообщения: 595
- Зарегистрирован: 28.04.2005 13:23:25
- Откуда: Москва
- Контактная информация:
- Сергей Смирнов
- энтузиаст
- Сообщения: 595
- Зарегистрирован: 28.04.2005 13:23:25
- Откуда: Москва
- Контактная информация:
А, ясно о чём речь. ИМХО, все эти бредни имеют в корнях желание привить индустриальный подход к процессу разработки программ. Но вот мне интересно: а если я забуду в каком нибудь хитром цикле сделать приращение счётчика (грубо говоря), то как это выявить без пошаговой отладки?
ЗЫ: Кстати, насколько мне известно, при создании программ управления всякой сложной техникой действительно используются совершенно другие подходы к программированию, но какое это имеет отношение к обычному софту, которым мы все пользуемся каждый день?
ЗЫ: Кстати, насколько мне известно, при создании программ управления всякой сложной техникой действительно используются совершенно другие подходы к программированию, но какое это имеет отношение к обычному софту, которым мы все пользуемся каждый день?
В БлэкБоксе для проверки правильности переданных параметров применяются ASSERT'ы.
Если параметры неверные, среда (если быть точным - фреймфорк) остановится.
Все это очень похоже на 1С.
А Delphi (FPC) выдадут AV. И закроются.
Для отладк в БлэкБоксе в подозрительных местах выставляются HALT.
Если есть исключение, выдается посмертный дамп с состоянием переменных.
Гарантируется, что среда не упадет, а просто остановит работу, то есть просто почувствуйте разницу.
БлэкБокс создавался для создания сверхнадежных приложений.
Если параметры неверные, среда (если быть точным - фреймфорк) остановится.
Все это очень похоже на 1С.
А Delphi (FPC) выдадут AV. И закроются.
Для отладк в БлэкБоксе в подозрительных местах выставляются HALT.
Если есть исключение, выдается посмертный дамп с состоянием переменных.
Гарантируется, что среда не упадет, а просто остановит работу, то есть просто почувствуйте разницу.
БлэкБокс создавался для создания сверхнадежных приложений.
Да нет... он есть, символьный отладчик.
Когда есть исключение - он раскручивает стек вызовов.
Видны вызовы процедур, приведших к исключению.
Как говорилось, можно заодно глянуть все переменные, и взять их значения на момент исключения.
Все это очень похоже на то, что есть в Джаве (голословно, врать не буду, не работал с Джавой, надо спросить спецов по ней).
В Блэкбоксе нет try..finally..end.
Когда есть исключение - он раскручивает стек вызовов.
Видны вызовы процедур, приведших к исключению.
Как говорилось, можно заодно глянуть все переменные, и взять их значения на момент исключения.
Все это очень похоже на то, что есть в Джаве (голословно, врать не буду, не работал с Джавой, надо спросить спецов по ней).
В Блэкбоксе нет try..finally..end.
ev писал(а):Когда есть исключение - он раскручивает стек вызовов.
а если нет исключения?
т.е. ошибка банально в формуле или еще где... человеческий фактор еще никто не отменял... через строку вставлять HALT ?
Вставлять ACCERT, в любом хорошем учебнике по си, или по программированию под gnu linux рекомендуется вставлять ACCERT во всех сомнительных местах.
Считается хорошим стилем, помогает отладке и улучшает читаемость кода.
В си это всего лишь макрос, который вставляется если скомпилировано c DEBUG
Как я понял в дельфи и fpc ACCERT позаимствовали из си.
