Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
Я отладкой никогда ни занимался. Проги маленкие и простые писал. Расскажите, какие цели преследует этот процесс, какими методами и средствами проводится. Что такое отладочная информация (добавляемая к исполняемуму файлу например gcc'цой)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2005, 22:38 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
Извини, но смеялся я долго Либо проги были очень маленькие, либо ты программист, который почти не делает ошибок ))) Ты точно не прикалываешься? Процесс отладки приследует цель выявления ошибок на основе анализа промежуточных состояний вычислительного процесса и сравнения их с эталонными для данного алгоритма (это по-умному) А по-простому: останавливаем код и смотрим значения переменных, порядок вызова функций, их результаты. Можем проводить выполнение программы по шагам, назначать следующий выполняемый блок кода, ставить breakpoint, то есть точки, где мы хотим остановить выполнение программы и проанализировать ее состояние. Все данные действия выполняются с помощью отладчика. Отладчик, пользуясь механизмами операционной системы и процессора берет отлаживаемую прогрмму под полный контроль. Так как программа скомпилирована в машинный код, то отладку в таком виде делать неудобно, поэтому в отладочные версии прог добавляется отладочная информация, которая для соответствующих блоков кода указывает их эквиваленты языка высоко уровня, а также содержит информацию о переменных проги, номерах строк итд. В окончательных версиях эту информацию удаляют (поэтому чужую прогу можно отлаживать только в asm коде). Среди других методов можно упомянуть: отладочный лог (прога пишет инфу о своих состояниях в файл), макрос ASSERT (пассивная отладка). ________________________________________________________ Глюк - это высокоорганизованная система не поддающихся определению частиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2005, 22:54 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
Если то что мне выдавала прога не соответствовала моим ожиданиям, то я долго смотрел на исходный код и на алгоритм, пока не находил ошибку. Но было это довольно редко. А как проходит процесс оптимизации? Как отслеживается утечка памяти? Какие инструменты помогают выявить её причину? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2005, 23:15 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
Ну а насколько маленькие? Ну небольшие. Тыщь на пять строк на паскале были. Не больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2005, 23:17 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
SarinНу а насколько маленькие? Ну небольшие. Тыщь на пять строк на паскале были. Не больше. Удивительно, я прохожу отладчиком по каждым 100-200 строкам, а у вас 5000 без отладчика работают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2005, 11:50 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
автордолго смотрел на исходный код и на алгоритм А если бы не смотрели, а отлаживали, то все было бы быстро. :) Можно, конечно, и ShowMessage'ами состояние перемнных показывать, но. Отладчиком быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2005, 20:33 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
Я Шоу мессагами пользовался. Иногда логи писал. Но это изредка. Когда проблемы просмотром алгоритма не находились. Вообще я последоватеьно разрабатывал. Соответственно когда возникала ошибка я сразу знал где. Что с памятью скажете? Как искать и исправлять такие лаги? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2005, 21:44 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
Вообще- то существует мнение, что упор надо делать именно на разбиение задачи на подзадачи, до тех пор пока объем подзадачи не станет так мал, что можно легко проследить по тексту соответствующей подпрограммы, верно ли она написана. Если проверять только отладкой, то надо проверять программу на бесконечном множестве исходных данных, так как неясно, одинаково ли она работает с каждым множеством исх. данных. Я начинал с Фортрана на большой машине, где последовательность действий была такая: - написать свою супер-пупер программу (процедуру) на специальном бланке, - отнести и оставить ее на перфорацию - через два дня взять перфокарты - просмотреть их на предмет синтактических ошибок, оставить на перебивку найденных ошибок - через два дня взять, оставить на запуск - через два дня взять, посмотреть результаты. В случае ошибок, внимательно смотреть текст программы :) Понятно, что при таком подходе либо вообще отказываешься от программирования, либо учишься сначала продумывать алгоритм, потом писать без ошибки, небольшими процедурами для которых (см. выше). Перейдя на персоналки и Паскаль, я установил что этот подход позволяет писать программы, которые работают, ну почти с первого раза. Конечно, клавиши F4, F7,F8 в дельфях очень хорошая штука, но (для меня) - только как приятный довесок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2005, 19:27 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
2 S.G.: Это поможет не всегда -- иногда просто не ясно, что получается после вызова функции чужой библиотеки, и тогда можно в свой код смотреть хоть до конца жизни. ________________________________________________________ Глюк - это высокоорганизованная система не поддающихся определению частиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2005, 21:58 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
Lelikk, во времена перфокарт "чужих библиотек" не было :) И вообще, если не ясно что возвращает чужая процедурка достаточно сделать выброс промежуточных результатов. Sarin верной дорогой идет. Хотя и медленно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 01:14 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
2 Lelikk Ну я же не против отладки. Просто встречал людей, которым отладка заменяла обдумывание. Собственно, в наше время этот "стиль" встречается довольно часто. Не зря тут крутился анекдот недавно: "А что делает Ваша программа?"- "Не знаю, сейчас скомпилирую, посмотрю" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 07:57 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
Понятно, тема отладки оказалась популярна:) Ещё раз спрашиваю: есть ли технические средства отловить утечку памяти (мозгов) так сказать в зародыше? Не заставляя прогу пахать неделями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 11:26 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
SarinЕщё раз спрашиваю: есть ли технические средства отловить утечку памяти (мозгов) так сказать в зародыше? Не заставляя прогу пахать неделями. Безусловно. Причем пахать неделями незачем - вопрос не в том, чтобы отловить ситуацию "у машины кончилась память", вопрос в том, чтобы отловить, где именно происходит утечка. Инструмента хватает, для разных сред свои. Вообще- то существует мнение, что упор надо делать именно на разбиение задачи на подзадачи, до тех пор пока объем подзадачи не станет так мал, что можно легко проследить по тексту соответствующей подпрограммы, верно ли она написана. Существует факт, что подход сам по себе правильный, но далеко не всегда работающий. Мало того, в нисходящем проектировании и структурном программировании - идеологиях, в рамках которых и был сформулирован этот принцип - констатировалось, что наиболее сложной частью является не реализация подпрограмм, а корректность интерфейса между подпрограммами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 11:43 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
Не давно правил программу на Clipper 5.01. 2 Sarin ты наверное даже не знаешь что это такое? Так я скажу это КОШМАР потому что нет никаких отладчиков. По сравнение с теми которые под VC++ 6 или Borland C++ 3.1 или уж если брать компилятор времен Clipper такой как встроенный в Turbo C 2.0. Где не надо всавлять месаги с выводом сообщений или что выполняется какой то кусок программы. Что мне и приходилось делать. А потом оказалось что ошибка не в программе, а надо было индексы перестроить. Под отладчиком я бы увидел это СРАЗУ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 12:17 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
CruelGeniusНе давно правил программу на Clipper 5.01. 2 Sarin ты наверное даже не знаешь что это такое? Так я скажу это КОШМАР потому что нет никаких отладчиков. Вы меня удивили. 5.01 - это, если мне не изменяет память, CA Clipper, в котором был абсолютно нормальный отладчик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 12:27 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
softwarer Безусловно. Причем пахать неделями незачем - вопрос не в том, чтобы отловить ситуацию "у машины кончилась память", вопрос в том, чтобы отловить, где именно происходит утечка. Инструмента хватает, для разных сред свои. Это средства компилятора, или сторонние программы? Плохо, что без таких мест где может память кончится не обойтись:( Готов забится, что еслиб скрипты на ПХП не работали на протяжении секунд, то мозги греблибы лопатой. Динамические массивы и всё такое - наркотик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 12:58 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
это КОШМАР Да ничего, отлаживали, и с отладчикои, и без, на ЕС-ках хуже было. У меня самая большая программа на Clipper была на мегабайт исходного текста А переиндексация была первой рекомендацией пользователю, если он звонил и сообщал о каких-то проблемах Я начинал с Фортрана на большой машине, где последовательность действий была такая: мы с тобой одной крови :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 13:12 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
SarinЭто средства компилятора, или сторонние программы? Хм. Зависит от. Лично моя точка зрения - все, что может быть отделено от компилятора, должно быть отделено от компилятора. Все, что может быть отделено от RTL, должно быть отделено от RTL. Итп. Замкнутые системы - это наказание для программиста. В них постоянно приходится констатировать "это так, потому что это так. Может ошибка, может нет, все равно ничего не сделаешь, если не лезть править бинарники". Sarin Готов забится, что еслиб скрипты на ПХП не работали на протяжении секунд, то мозги греблибы лопатой. Динамические массивы и всё такое - наркотик. Не понял логики. Не знаю PHP и его особенностей, но совершенно не понимаю, чем "динамические массивы" заведомо принципиально хуже чего-то другого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 13:17 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
softwarer CruelGeniusНе давно правил программу на Clipper 5.01. 2 Sarin ты наверное даже не знаешь что это такое? Так я скажу это КОШМАР потому что нет никаких отладчиков. Вы меня удивили. 5.01 - это, если мне не изменяет память, CA Clipper, в котором был абсолютно нормальный отладчик. На машине с текстами клиппера и самими бинарниками отладчика не было, не буду же я бегать по городу и искать отладчик. Через интернет не было возомжности. Он дайл ап параллельно с факсом. Факс был занят. Полдня убли на это дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 14:20 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
White OwlLelikk, во времена перфокарт "чужих библиотек" не было :) И вообще, если не ясно что возвращает чужая процедурка достаточно сделать выброс промежуточных результатов. Sarin верной дорогой идет. Хотя и медленно :) Мы говорим про сегодня! Ну далеко не во всех приложениях можно ставить MessageBox. И не во всех ситуациях. Тогда уж логичнее писать в лог-файл. З.Ы. Брейкпойты все равно к цели ведут быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 16:12 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
To S.G. : Вы будете смеяться, но я начинал точно так же. To Sarin: Счастливчик! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 16:22 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
По поводу утечки памяти: Рекомендую два способа, которые хорошо помогают 1. Указатели из STL, которые обнуляются при освобождении 2. Свой указатель "оборачивать" классом, освобождая память в деструкторе. 2а. Придавать классу собственные new/delete ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 16:30 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
Sarin такие средства есть программные - например NuMega BoundsChecker и другие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 18:14 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
CruelGeniusНа машине с текстами клиппера и самими бинарниками отладчика не было, не буду же я бегать по городу и искать отладчик. Это вы смотреть не умеете. Отладчиков в Клиппере аж две штуки. Один, cld.exe, лежит в том же каталоге что и компилятор. Второй, debug.lib, может быть подлинкован непосредственно внутрь исполняемого файла и даже отдан клиенту :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 18:52 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
OldPferd Я начинал с Фортрана на большой машине, где последовательность действий была такая: мы с тобой одной крови :) MLeonTo S.G. : Вы будете смеяться, но я начинал точно так же. Есть еще порох в пороховницах! ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 19:20 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
MLeon Рекомендую два способа, которые хорошо помогают 1. Указатели из STL, которые обнуляются при освобождении 2. Свой указатель "оборачивать" классом, освобождая память в деструкторе. Заодно хотелось бы понять отличие первого способа от второго :) А насчет "хорошо помогают" - это сложный вопрос. Я бы сказал, заменяют одну сложность другой сложностью. Эта другая сложность удобнее для освоившихся с ней людей, пишуших серьезные проекты; для стартового уровня я бы не советовал в нее лезть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2005, 19:41 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
White Owl CruelGeniusНа машине с текстами клиппера и самими бинарниками отладчика не было, не буду же я бегать по городу и искать отладчик. Это вы смотреть не умеете. Отладчиков в Клиппере аж две штуки. Один, cld.exe, лежит в том же каталоге что и компилятор. Второй, debug.lib, может быть подлинкован непосредственно внутрь исполняемого файла и даже отдан клиенту :) В принципе это не важно я уже поменял работу, и надеюсь что с клиппером больше не буду сталкиваться. debug.lib позволяет сомтреть какие базы открыты откуда вызов пошел и тд. В данном случае он не мог мне помочь. При внутренней ошибке 19. Посмотрел у меня в каталоге не было cld.exe. Может он у вас лежит где то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2005, 11:23 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
>Что такое отладка? Например, в своем Обероне Вирт нафик не добавил никакой возможности для дибаггинга; с таким объяснением: нефик всяким ламерам заниматься п=о=д=г=о=н=к=о=й своих "шедевров" под требуемый результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 11:55 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
Вирт поступил - как теоретик. Готов спорить, что ему не приходилось коротать ночь над сбойным исходником, который надо было сдать в эксплуатацию на "вчерашнее число". Прятно .. конечно в "кулуарах" за чашечкой кофею рассуждать о чистоте кода и т.п., но давайте не кривя душой скажем - всегда ли мы имеем возможность отлаживать чистый код? И всегда-ли этот код комментирован? И на местном-ли языке он написан? Стандартные-ли он либы использует? Когда у девелопера иссякает терпение искать корреляцию между входным параметром и кодом ошибки он, отчаявшись начинает использовать арсенал дебаггера. Генерить ассерты, включать опции логирования, и т.д вплоть до прямого вмешательства в работу аппаратуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 15:47 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
maytonВирт поступил - как теоретик. Готов спорить, что ему не приходилось коротать ночь над сбойным исходником, который надо было сдать в эксплуатацию на "вчерашнее число". Один к одному мои мысли по этому поводу. Но, насколько я помню, Вирт далеко не только теоретик. А может он просто зловредный старикан (типа чингиза). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 15:58 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
Вообще-то Паскаль (младший братишка Оберона) создавался как язык обучающий. Я ничего плохого этим не хочу сказать. Просто есть большая разница между академическим программированием и промыш- ленными разработками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 16:23 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
В том-то и дело, что он свои последние языки продвигает именно как предназначенные для промышленных разработок, - особенно в критических отраслях, - космической, авиа, атомной пром-ти, - как предельно безопасные и защищенные от программерских ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 17:05 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
Боюсь, в пятницу я очень туго соображаю, поэтому никак не могу понять, нахрена язык должен содержать что-то для отладки . Плюс, стоит отметить, что имеющиеся на настоящий момент эксперименты по языковой поддержке защищенного программирования по сути закончились пшиком - то есть синтаксис усложняем, читабельностью жертвуем, толку никакого. "Никакого" - в смысле, идиотские ошибки отлавливаем (тот самый академический успех), промышленного смысла - ноль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 18:33 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
Не, ну я имел в виду конечно не голый язык (компонентный паскаль), а его оболочку Оберон - компилятор, кодер/декодер, типа редактор. >промышленного смысла - ноль Стоял он у меня как-то, этот Оберон. Большего уродства трудно придумать. Вообще такое чувство будто Вирт считает, что тока он один умный, а все вокруг него дураки (или дети малые). После того как однажды этот Оберон, на простейшем коде в 10 строк, пожрал всю (абсолютно всю!) память на моей машине, а на попытки сделать BREAK тока что-то сообщал про какие-то ресурсы, я снес его нафик и больше о нем не вспоминал. Прикол здесь в том, что тот же самый код, но переписанный на VBA и запущенный из Экселя, отрабатывал самым чудесным образом и с очень небольшим пиком потребления памяти. Я специально, для чистоты эксперимента, 2 раза перезагружался и делал 2 прогона. Оберону это не помогло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2005, 20:54 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
РытНе, ну я имел в виду конечно не голый язык (компонентный паскаль), а его оболочку Оберон - компилятор, кодер/декодер, типа редактор. Тут, с моей точки зрения, ситуация проста: если язык пойдет в эксплуатацию, напишут и хорошие инструменты, и хороший оптимизирующий компилятор, и библиотеки. Если займет свое академическое место - студенты тоже сварганят все необходимое, хотя качество - под вопросом. Вирту в данном случае вряд ли имеет смысл тратить время на прикладные детали. Грубо говоря, Паскаль в виртовской версии вряд ли был чудом реализации. Да и C в КР-овской, назовем так, имел недостатки. Что не помешало тому и другому лет за десять обрасти мясом и занять свое место. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2005, 13:29 |
|
||
|
Что такое отладка?
|
|||
|---|---|---|---|
|
#18+
softwarerГрубо говоря, Паскаль в виртовской версии вряд ли был чудом реализации. Вот чудом он как раз и был :) Виртовский Паскаль не имел команд ввода/вывода. Их добавили уже после, когда делали реальный транслятор языка. А в первом опубликованом описании никаких write() не существовало :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2005, 18:11 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1347508]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
137ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 441ms |

| 0 / 0 |
