Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];

Вниз

Отладка   Найти похожие ветки 

 
AZ   (2002-01-23 06:36) [0]

Не нашел подходящей ветки - приходится здесь.
Господа, не дадите ли методику отладки свежеиспеченных компонентов при помощи запуска 2-х экземпляров Delphi?


 
33   (2002-01-23 07:11) [1]

Один экземпляр Delphi управляет печкой, а второй
отлаживает компонент.


 
Алексей Петров   (2002-01-23 09:27) [2]

Не надо 2-х копий. 99% может быть отлажено путем динамического создания компоненты в тестовом приложении и отладке его.

Ну а остальной 1% лучше писать без ошибок :))


 
AZ   (2002-01-23 10:25) [3]

>Алексей Петров ©
До сих пор я так и делал. Получалось неплохо.
Но прослышал про вышеуказанный метод м хочу узнать о нем детальнее.


 
Digitman   (2002-01-23 11:51) [4]

А зачем, по-твоему, конкретно для такой задачи (отладка и тестирование компонента) нужно аж целых 2 экз-ра Делфи ? Ну, я понимаю, кто-то там чего-то брякнул тебе на эту тему без комментариев, но резон-то какой-либо, пусть и призрачный, ты в этом сам видишь ? Или ты хочешь попробовать действовать по принципу : а черт его знает - зачем, но - авось поможет ?


 
AZ   (2002-01-23 12:38) [5]

Мне надо отлаживать довольно сложный редактор компонента.
Традиционным способом это очень трудоемко.
Чтоб в муках облегченье было...


 
Виктор Щербаков   (2002-01-23 12:51) [6]

Если один экземпляр Delphi свалится, то второй продолжит работу :)
Но лучше уж сразу штук 5 запустить.


 
AZ   (2002-01-23 13:31) [7]

Грешно издеваться над мучеником...


 
Digitman   (2002-01-23 14:24) [8]

"отлаживать довольно сложный редактор компонента" - ну и отлаживай их в одном экз-ре ? На кой черт два-то их нужно ? Разумные аргументы есть ?


 
vuk   (2002-01-23 15:31) [9]

to Digitman:
>ну и отлаживай их в одном экз-ре ?
А Вы пробовали? Особенно, если редактор компонента использует различные сервисы IDE, которые доступны только в design time.
В этом случае отладка возможна только во втором экземпляре IDE.


 
Дремучий   (2002-01-23 15:44) [10]

2 vuk
a разве в разных экземплярах Делфи эти сервисы разные?
я понимаю усли нужно отлаживать для 3 идля 5 версии Делфей,
но для одной и той же - прошу пример в студию(извините за плагиат:).


 
Digitman   (2002-01-23 15:55) [11]

>vuk
Ни одного вразумительного аргумента нет в том, что ты говоришь .. хоть раздел "Потрепаться" зовется, но если ты не потрепаться зашел по сему сабжу, то тогда будь любезен - детали проблемы приводи ... под "сервисом IDE" можно понимать все что угодно ...


 
vuk   (2002-01-23 16:18) [12]

to Дремучий:
>a разве в разных экземплярах Делфи эти сервисы разные?
Одинаковые, но два разных экземпляра в двух разных экземплярах исполняемого модуля. В этом случае первый экземпляр выступает как внешний отладчик, а второй - как отлаживаемое приложение. Отладчику доступны все данные которые у отлаживаемого приложения внутри.

>под "сервисом IDE" можно понимать все что угодно ...
Например, что-нибудь из модуля LibIntf (до D5 включительно) или ComponentDesigner (D6).

Буквально на днях занимался отладкой редактора свойства. Оттуда и пример.

{$ifdef ver140}
Key := ActiveDesigner.Environment.GetBaseRegKey + "\" +
sIniEditorsName;
{$else}
Key := DelphiIDE.GetBaseRegKey + "\" + sIniEditorsName;
{$endif}



 
AZ   (2002-01-23 16:26) [13]

>vuk ©
Пожалуйста, нельзя ли поподробнее?


 
Digitman   (2002-01-23 16:28) [14]

ну, понятно теперь немного ... и что ж тебе мешает отладить свой компонент по очереди для разных конфигураций ? в одном и том же экз-ре IDE сначала отлаживаешь с ver140, а затем - без оного... в чем проблема-то ? тебе надо сравнивать поведение редактора в том и др. случае одновременно что ли ? переключаясь между двумя IDE ? так ведь это совершенно необязательно !


 
Алексей Петров   (2002-01-23 16:38) [15]

Напрасно вы на человека набросились. Для отладки эксперта, например, я вижу только 2 пути:

а) Загрузка 2-го экземпляра Delphi под отладкой первого (и я это успешно делал, хотя тормозит очень).
б) Запись подробных логов и их анализ - метод старинный, но из за тормозов первого более эффективный.

Как отладить код, выполняющийся в процессе IDE непосредственно из нее самой? На сколько я понимаю структуру Win32 это не возможно - отлаживать можно только другой процесс, но ни как не свой собственный.


 
Алексей Петров   (2002-01-23 16:39) [16]

Добавлю - саму компоненту так отлаживать смысла нет, а вот к Property Editor или Component Editor сказанное об эксперте относится вполне.


 
vuk   (2002-01-23 16:42) [17]

>и что ж тебе мешает отладить свой компонент по очереди для
>разных конфигураций ?
Не в конфигурациях дело, а в том, что без второго экземпляра отладка не возможна вообще. Смотрите что получается. Сервисы IDE инициализируются и существуют только внутри IDE Delphi, и даже если Вам удасться скомпилировать вышеуказанный пример (а это можно сделать только при включении пакета DsnIDE50 или DesignIDE), то толку от этого не будет, поскольку работать этот код может только будучи "вживленным" в IDE. Но тут как раз и нарываемся на ограничение - отладчик не может отлаживать сам себя (что и понятно). Вот поэтому и нужен второй экземпляр Delphi.


 
troits   (2002-01-23 17:02) [18]

>AZ
Я это делал так. (Если я правильно понял, что ты спрашиваешь)
1) Открываешь пакет(*.bpl) c отлаживаемым компонентом в одном экземпляре Delphi.
2) Пишешь в Run->Parameters->Local->Host Application Delphi32.exe с полным путем.
3) Ставишь breakpoint-ы
4) Жмешь Run.


 
vuk   (2002-01-23 18:01) [19]

to troits:
Я обычно запускаю второй экземпляр, а потом делаю Attach to process. Далее в отладчике вызываю список загруженных модулей, нахожу нужный пакет и все...


 
AZ   (2002-01-24 05:24) [20]

Большое спасибо.
>Зубоскалам.
Никогда не спешите с выводами, господа!



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.006 c
6-19277
khodov
2001-12-20 10:51
2002.03.07
Подскажите, пожалуйста, как апдейтать DNS из моей проги?


1-19260
Revo
2002-02-20 11:36
2002.03.07
Формирование Word-овских документов из Delphi


14-19338
AZ
2002-01-23 06:36
2002.03.07
Отладка


1-19242
Miwa
2002-02-19 19:32
2002.03.07
Вывод сообщения


14-19297
Dimka Maslov
2002-01-18 17:37
2002.03.07
Bachelor





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский