![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
отладка компонентов [D7, WinXP]
Агент Х-СОМ © (2005-08-20 15:32:00)Возможно, мой вопрос будет несколько ламерским (возможно, даже на уровне секретарши), но за два года работы в Delphi я так и не нашел на него ответа.
Итак, вот какова моя ситуация:
1.Я разрабатываю свой или качаю чужой компонент
2.Инсталлирую компонент
3.Вставляю компонент в прогу
4.Запускаю прогу и начинаю отладку
Если операции, проводимые с этим компонентам (например, изменеие его свойств) проходят в режиме отладки, то, вместо того, чтобы пропустить эти строки без обращения к процедурам, идет отладка самого компонента (энто если юзать F7, а юзать надо именно F7). Не так давно я случайно проинсталлировал все компоненты звново. С тех пор любое действие (например, изменение ширины кнопки) сопровождается полным путешествием по системным модулям и в итоге самое простое действие (как, например, присвоение текста Label'у) проходит полный список действий (вплоть до ассемблерных вставок в системном юните). Жать F8 крайне неудобно, ибо мне нужно отслеживать все, что происходит в вызываемых МНОЮ процедурах, а иногда это просто делает отладку невозможной. Однозначно, надо где-то поменять какую-то опцию, вот тока не знаю, какую - простой перебор ни к чему существенному не привел. Use Debug DCUs включен, путь к ним стандартный. Замена dcu в этой директория результатов не принесла. Delphi переставлять неохота (очччень сильная неохота), да и к тому же не дело энто вести отладку компонентов, если ты этого не желаешь. Должен же быть способ. Не знает ли кто-нибудь, в чем дело и как с проблемой бороться? Заранее благодарен.
Агент Х-СОМ (2005-08-23 17:21:00) [1]
> Может гораздо проще не допускать возникновения проблемы.
>
Можно, согласен, но не всегда получается. Но раз уж проблема появилась, так надо уметь ее расхлебывать - всетки переставлять среду не особо нужно (куча своих и чужих компонентов, а все их ну совсем не охота переставлять + настройки среды). А с кусками тож не всегда получается.
>
> Все это решается настройкой каталогов (в опциях среды или
> проекта). В частности SearchPath
спасибо за сове, попробую
Котик Бегемотик (2005-08-23 10:01:00) [2]> Не знает ли кто-нибудь, в чем дело и как с проблемой бороться?
Может гораздо проще не допускать возникновения проблемы.
Если чесно то я уже не помню когда в последний раз пользовался встроенным отладчиком, наверное месяца два назад... может больше..
Гораздо быстрее иметь проверенные и работоспособные куски кода, которые просто надеть на скелет компонента.
Пользуйтесь unit-тестами :)
Igorek (2005-08-23 09:31:00) [3]
> Агент Х-СОМ © (22.08.05 16:41) [7]
Все это решается настройкой каталогов (в опциях среды или проекта). В частности SearchPath.
Агент Х-СОМ (2005-08-22 16:41:00) [4]Так. Попробовал, отключил, не помогло. Затем попробовал заменить все файлы из папки Source и Lib на оригинальные (с диска) - тож не помогло :-(. Лан, попробую заменить все, кроме папки bin, если не поможет - заменю и ее
Германн (2005-08-22 03:21:00) [5]Наверно моя кошерностьидет от Д1. Там, по-моему не было "Use Debug DCUs"! Ну и я "пошел другим путем". :(
Юрий Зотов (2005-08-21 20:19:00) [6]Зачем make? Просто отключаете Use debug DCU's и делаетe build (но не Compile).
Агент Х-СОМ (2005-08-21 19:16:00) [7]
> Мне довольно часто приходится гулять по чужому коду (кстати,
> полезная штука), поэтому предпочитаю ничего никуда не прятать,
> а просто смотреть, что в данной точке нажимать - F7 или
> F8.
Это конечно полезно, но меня, например, совсем не интересует при изменении текста надписи лазить в ассемблер, а порой бывает так, что нажатие F8 пропускает то, что нужно, а нажатие F7 проходит моменты слишком подробно.
Я отключил Use Debug DCUs, запустил make.exe из нужной папки, но это ни к чему не привело, ибо просто вызвало кучу ошибок. Затем я совершил тупой поступок - создал проект, включил в него все из vcl, скомпилировал с отключенным Debug Information , но и это ни к чмеу не привело
Юрий Зотов (2005-08-21 02:20:00) [8]> Германн © (21.08.05 01:53) [2]
Кошерно или нет - это от характера работы зависит. Мне довольно часто приходится гулять по чужому коду (кстати, полезная штука), поэтому предпочитаю ничего никуда не прятать, а просто смотреть, что в данной точке нажимать - F7 или F8.
Германн (2005-08-21 01:53:00) [9]Может я поступаю "некошерно", но я "как только, так сразу" перемещаю чужие исходники(pas) в каталог "невидимый" для Делфи.
Таких у меня два tpasyncproи RxLib.
Юрий Зотов (2005-08-20 17:00:00) [10]> Use Debug DCUs включен
Потому и гуляет по VCL. А чтобы не гулять по чужим компонентам, перебилдите их пакеты БЕЗ отладочной информации.