Re[4]: в те дни
От: vdimas Россия  
Дата: 21.08.06 10:56
Оценка: +1
Здравствуйте, IT, Вы писали:


AVC>>По моим наблюдениям, пошаговый отладчик — всего лишь способ убить рабочее время с умным видом.


IT>Несчастный, как же ты вообще работаешь?


Я уже как-то тут делился наблюдением, что после перехода на C# стал частенько использовать пошаговый отладчик. В С++ все-равно много в отладчике не посмотришь при всем желании. Внутренности построенного шаблонного функтора ничего не скажут, тем более ничего не скажет полученный бог весть откуда интерфейс. ИНОГДА используем отладочный вывод/печать, по-сути та же пошаговая отладка, только в профиль.

К тому же в этой сильной статической типизации С++ больше уверенности, т.е. если уж получил коллекцию, где элементы по значению сидят, то можно даже не сомневаться в содержимом коллекции.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: в те дни
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 21.08.06 13:13
Оценка:
Здравствуйте, IT, Вы писали:

IT> Я по настоящему научился пользоваться отладчиком, когда после трёхдневных поисков одного бага и исчерпав все возможные асёрты, понял, что хватит страдать фигнёй и пора учиться пользоваться нормальными инструментами. Мне тогда было лет 25, я был невероятно крут и рассуждал примерно так же. Любую багу я мог попросту загонять голыми руками, что называется перебегать. Рано или поздно она сдавалась, шансов у неё не было. Но только не у ТОЙ. ТА бага меня победила. Победила в рукопашном бою. После этого я почесал репу, потратил немного времени на изучение отладчика и словил её родимую как миленькую. С тех пор я пользуюсь только хорошими и проверенными инструментами.


Если не секрет, в каком году это было?


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[8]: в те дни
От: vdimas Россия  
Дата: 21.08.06 18:27
Оценка:
Здравствуйте, IT, Вы писали:


IT>Без проблем. Вот один неочевидный код. Переписывай.


Так и знал, что по ссылке гора еммита

Согласен, на ассемблере без дебага — ну никак вообще... В свое время я вдоволь намурыжил fd48/fd50... Альтернативой программным эмуляторам процессоров было выводить импульсы на свободные ножки портов.. Это вроде за отладочную печать сходило
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: в те дни
От: IT Россия linq2db.com
Дата: 21.08.06 19:45
Оценка: :)
Здравствуйте, eao197, Вы писали:

E>Если не секрет, в каком году это было?


Точно не помню, где-то между 92-м и 94-м. Borland C++, inline assembler, push в начале метода, pop в конце, return посередине
Если нам не помогут, то мы тоже никого не пощадим.
Re[9]: в те дни
От: IT Россия linq2db.com
Дата: 21.08.06 19:50
Оценка:
Здравствуйте, vdimas, Вы писали:

IT>>Без проблем. Вот один неочевидный код. Переписывай.


V>Так и знал, что по ссылке гора еммита


Ну так а больше ничего интересного в управляемых средах и не придумать

V>Согласен, на ассемблере без дебага — ну никак вообще...


Не только на ассемблере. Сейчас приходится ковыряться в кишочках компилятора Nemerle, так там без отладчика, а именно без кнопки Watch делать нечего. Изучить полностью работу компилятора, а потом взять и всё написать — это утопия. Печатать всё в output, так сначала надо знать что печатать. Ставить асёрты, гы-гы, к чему это я? А вот поползать в отладчике по изучаемой структуре самое оно. Быстро, удобно, наглядно.
Если нам не помогут, то мы тоже никого не пощадим.
Re[10]: в те дни
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 22.08.06 06:01
Оценка:
Здравствуйте, IT, Вы писали:

E>>Если не секрет, в каком году это было?


IT>Точно не помню, где-то между 92-м и 94-м. Borland C++, inline assembler, push в начале метода, pop в конце, return посередине


Я как раз в это время начал сталкиваться со случаями, когда отладчик не помогал в отладке. А до этого пошаговый трейс в Turbo Pascal/Turbo C/Turbo Debugger, штук десять переменных в окне Watch, окошко Evaluate на каждый чих. Иногда доходило вообще до смешного -- в первый раз на исполнение программа сразу под отладчиком запускалась
Так что у меня другая история -- от отладчика к отладочным печатям.

Сейчас запускаю отладчик раз в месяц, если какой-то Access Violation нужно быстренько обнаружить. А уж когда последний раз пошаговую отладку запускал, так вообще не вспомню.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[7]: в те дни
От: srggal Украина  
Дата: 22.08.06 08:35
Оценка:
Здравствуйте, FDSC, Вы писали:


IT>>А если код не твой или давно это было? Нужно по стеку побродить, посмотреть как оно куда чего.


FDS>Ужас! Вы меня разочаровываете... неужели вы и вправду изучаете чужой код в отладчике? И помогает?


Я изучаю чужой код в отладчике и при этом ничуть этого не стыжусь.

Возможно если есть идеальный, достаточно сложный и объймный код, документированный и с кучей документации, который можно изучить без отладчика, на предмет внеснеиня фич, или устранения багов. Но это сродни вопросу про серебрянную(золотую титановую) пулю.

Моя реальность такова, что код писался какими-то полуграмотныит программистами в далеком 1998 в не менее далекой канаде, и по нему нет ничего кроме кода, закзчика и тучи клиентов. И вот что я Вам скажу, в отладчике гораздо проще понять что, когда, откуда и почему.

Возможно если программа чисто прикладная без работы со всякого рода "железками", то можно и без отладчика но в моём случае — это туева хуча контроллеров. Наверное и со всеми контроллерами можно разобраться, если они работают адекватно, и по ним есть документация, но, как Вы уже поняли, в моем случае это не так

Так что, в моей реальной жизни рулит отладчик.

ЗЫ Есть подозрение что для написание идеальной программы нужно дышать идеальным газом. Но увы и ах..
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: в те дни
От: vdimas Россия  
Дата: 22.08.06 08:51
Оценка: 1 (1) +1
Здравствуйте, IT, Вы писали:


V>>Так и знал, что по ссылке гора еммита


IT>Ну так а больше ничего интересного в управляемых средах и не придумать


В рамках твоей работы нижесказанное прозвучит как ересь, тем не менее:
— я очень склонен определять для кодогенерации место в случае BLT как post-build step
— если мы имеем кодогенерацию как часть разработки, то с тем же успехом можно было генерить код в виде исходника на читабельном языке, ну а затем — один из мн-ва путей, начиная от интеграции tool+designer+VS2005+partial_classes, до генерации и компиляции исходников во временной директории с последующим уничтожением после получения бинарника.

В общем, мне оно так с самого начала показалось , (когда-то постил предложения по этому поводу).


V>>Согласен, на ассемблере без дебага — ну никак вообще...


IT>Не только на ассемблере. Сейчас приходится ковыряться в кишочках компилятора Nemerle, так там без отладчика, а именно без кнопки Watch делать нечего.


Вернее, не столько в кишочках самого компилятора ради академического интереса, сколько для контроля того, как твое некое расширение внутри компилятора себя чувствует, правильно? Тут я полностью согласен, именно пошагово и именно много я в дотнете отлаживал свои компоненты, когда они должны были работать в уже готовом довольно-таки сложном окружении. Что характерно, при работе в дотнете не меньше половины подобного кода.


IT>Изучить полностью работу компилятора, а потом взять и всё написать — это утопия. Печатать всё в output, так сначала надо знать что печатать. Ставить асёрты, гы-гы, к чему это я? А вот поползать в отладчике по изучаемой структуре самое оно. Быстро, удобно, наглядно.


Да все понятно. Собственно, все мы стараемся без фанатизма. Если не участвовать в "Философии" а смотреть со стороны, то замечаешь интересный эффект: стоит кому-нить из оппонентов проявить твердость и фанатизм, как вирус непокобелимости и твордости взглядов мгновенно перекидывается на оппонентов... В смысле, ты же сам однажды верно подметил, что некоторые вещи принципиально нереально в пошаговом режиме отлаживать. Например, критичный ассинхронный обмен (отладка в основном путем анализа отладочного лога), или же — пресловутые lazy-initialized св-ва, которые могут даже подвесить дебаггер студии при удачном раскладе (отладка — в основном на юнит-тестах).

В общем, как и 99% всех споров в "Философии" этот можно заканчивать банальным: "всё хорошо, если в меру и к месту".
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: в те дни
От: RustM Россия  
Дата: 07.09.06 11:23
Оценка:
Здравствуйте, IT, Вы писали:

Чё то я промахнулся с плюсиками, оказывается. Ставил тебе, а получилось Win2K

... << RSDN@Home 1.2.0 alpha rev. 655>>
Re: в те дни
От: absolute  
Дата: 23.09.06 05:54
Оценка: :))
Здравствуйте, Шахтер, Вы писали:

Ш>люди знали, как писать маленькие, эффективные программы -- навык, который впоследствии был утерян. (с) Таненбаум.


Всё просто: сегодня срок морального устаревания платформы меньше времени подготовки специалиста на неё.
Re: в те дни
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.09.06 17:49
Оценка: -1
Здравствуйте, Шахтер, Вы писали:

Ш>люди знали, как писать маленькие, эффективные программы -- навык, который впоследствии был утерян. (с) Таненбаум.


Утерян. За отсутствием необходимости.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.