Re[11]: Как я выкинул на ветер 2 тыщи рублей или линукс в бы
От: ambel-vlad Беларусь  
Дата: 10.04.07 17:00
Оценка: +1 :)
Hi asdfghjkl

a>>>Еще раз повторяю: не "поменялись данные", начальные значения оказались не те, что надо.

AV>>То есть у тебя функция чистая? То есть использует только локальные переменные и параметры?

a>Как правило да. По крайней мере, я к этому стремлюсь.


Как-то тяжело это вяжется с ООП. Или ты члены классов передаешь в функцию через параметры?

a>А если использует — что это меняет? Пока выполняется функция они поменяться не могут.


Почему пока выполняется функция они не могут поменяться? А если меняются и функция не чистая, то повторный проход при отладке даст другой результат, чем при первом проходе.

AV>> Кстати, если у тебя начальные значения оказались не те, что надо, как ты ее отлаживаешь?


a>Меняешь на те и повторяешь. Аналогично с циклами — возвращаешься на начало и повторяешь. А вообще вариантов использования этой фичи — масса.


ну поменять на правильные параметры ты можешь. Ну пройдешь в отлаживаемой функции по шагам. И что? Ошибка-то не в вызываемой функции, а в вызывающей? Ведь это вызывающая функция передала неправильные параметры. Смысл несколько раз шагать по вызываемой?

AV>>Раньше я как раз пользовался пошаговыми отладчиками. Потом посмотрел в прошлое и оказалось, что пошаговая отладка занимает больше времени.


a>Ну если шагать начиная с main() — то конечно. Но обычно ставится точка останова на подозрительное место и оттуда шагаешь. Удобная фича — временная точка останова aka Go to Cursor. Но опять же, после остановки нет большого смысла тупо смотреть на переменные. Интересно посмотреть на порядок исполнения.


Ну это понятно, что не с main() начинаешь трассировать. А смысл смотреть порядок исполнения? Как раз логичнее анализировать значения переменных. То есть состояние программы.

Кстати, а как ты предлагаешь отлаживать подобным образом серверные приложения? Или, например, многопоточные?

--
С Уважением
Posted via RSDN NNTP Server 2.0
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.