Отладка COM+ в Delphi7
Собрано и составлено Лю Сяомином (шифр).
Самый неприятный вопрос при разработке прикладных систем COM+ — это отладка компонентов COM+. Поскольку COM+ выполняется в среде выполнения COM+, программисты Delphi не могут напрямую устанавливать точки останова на сервере приложений для отладки в среде IDE Delphi, как в распределенной многоуровневой системе приложений Delphi.
Фактически, Delphi по-прежнему может отлаживать компоненты COM+ в интегрированной среде разработки Delphi или разрешать программистам устанавливать точки останова в программном модуле компонента COM+ в интегрированной среде разработки, а затем запускать клиентское приложение для вызова компонента COM+. В это время Delphi перенесет управление выполнением в интегрированную среду разработки Delphi и сделает паузу в точке останова, установленной программистом, чтобы позволить программисту начать отладку. Отныне программисты могут отлаживать компоненты COM+ так же, как и отлаживать обычные приложения. Однако для отладки компонентов COM+ таким способом программистам необходимо сначала выполнить некоторые настройки.
1. Активируйте проект компонента COM+ для отладки в интегрированной среде разработки Delphi, щелкните меню PROjects|Options, выберите страницу компоновщика во всплывающем диалоговом окне и выберите «Включить информацию Td32» и «Включить символ удаленной отладки»;
2. Откройте меню «Выполнить|Установить объекты Com+», чтобы зарегистрировать компонент COM+, желательно в новом приложении или в существующем приложении (это приложение должно быть создано зарегистрированной программой COM+ в Delphi).
3. Запустите Панель управления Win2000 | Администрирование | Службы компонентов, в приложении COM+ найдите зарегистрированное в COM+ приложение, щелкните правой кнопкой мыши, выберите меню «Свойства», в появившемся диалоговом окне выберите страницу «Дополнительно». и выберите параметр «Запустить в отладчике». В пути отладки будет что-то похожее на следующее: «C:/Program Files/Borland/Delphi7/Bin/bordbg70.exe» dllhost.exe /Идентификатор процесса: {9CEC476D-83A5-4C2B-AFF1-3E83A147B866}
4. Вернитесь в интегрированную среду разработки Delphi, щелкните меню «Выполнить|Параметры» и в диалоговом окне установите для Hostapplication значение: C:/WINNT/system32/DLLHOST.EXE (это значение должно быть установлено в соответствии с ситуацией установки вашей операционной системы). Для параметров установлено значение: /ProcessID:{9CEC476D-83A5-4C2B-AFF1-3E83A147B866}; значение этого GUID должно соответствовать значению атрибута в службе компонентов Win2000 и может быть скопировано непосредственно оттуда.
5. Установите точки останова и запустите COM в интегрированной среде разработки Delphi;
6. Запустите клиентскую программу, вызывающую этот COM, в Windows (или во вновь открытой среде Delphi).
В это время вы обнаружите, что COM в среде разработки Delphi останавливается в точке останова, и вы можете продолжить одноэтапное отслеживание и отладку.