| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Отладка кода |
| Автор: sai_NT 20.6.2008, 22:55 |
| Программирую относительно давно, но особо остро вопрос с отладкой стал только сейчас. Работаю с компонентом TIdHTTP и запрашиваю гугловские страницы. Куки у этих товарищей TIdCookieManager временами не любит, вылетая с легендарной ошибкой Access violation at address ... Эта ошибка возникает не часто, но очень мешает процессу, в отладчике так долго сидеть не могу и терпения не хватает. Внимание вопрос! Как можно остановиться перед моментом возникновения ошибки или хотя бы в ее момент возникновения, но чтобы была возможность просмотреть значения нужных мне переменных? Возможно есть вообще дргие методы (WinDBG etc.) P.s. Не хотелось бы брать все в конструкцию try... |
| Автор: Alkash 21.6.2008, 06:30 |
| Выполнить до? Или ставить брейкпойнты... |
| Автор: Exai1e 21.6.2008, 09:05 |
| Запусти программу из Delphi, после вылета ошибки нажми F7, и прыгнеш на примерную строку где могла произойти ошибка, посмотри код выше этой строки, расставь там бряки =) |
| Автор: ama_kid 21.6.2008, 09:20 |
| sai_NT, поставь себе какой-нибудь модуль отслеживания утечек памяти (типа http://v.mahon.free.fr/pro/freeware/memcheck/) - думаю, раз ошибка возникает - значит у тебя в каком-то месте код написан малость криво, есть вероятность, что он тебе это место укажет. Если нет - тогда посмотришь его логи после того, как вылезет ошибка, в частности - стек вызова процедур, по крайней мере - сузишь область поиска... |
| Автор: sai_NT 21.6.2008, 11:33 | ||||||||
Те, кто возможно пограммировал в 1С, знают о галочке "Останавливаться по ошибке". То есть отладчик анализирует следюущие инструкции и если обнаруживает ошибку, то останавливается перед их вызовом, а не во время вызова, и, соответственно, есть возможность просмотреть значения переменных, участвующих в этом действии.
В том то и дело, что возможности/терпения расставить бряки нет, так как 100 раз может код выполниться без ошибки, а на 101 с ней уже.
А это гляну, что за зверь. Может пригодится в будущем.
Переходил, смотрел, попытки ставил - все равно, что-то упускаю. Наверно таки перейду на Indy 10 (воследний релиз качну). |