Как отладить COM DLL в Delphi? - PullRequest
0 голосов
/ 14 января 2010

Я пытаюсь отладить COM DLL (TAutoObject) в Delphi, и моя точка останова не зеленая.

Я поставил свой вариант так:

  • хост: c: \ Program Files \ Internet Explorer \ iexplore.exe
  • param: c: \ software \ test.html

Мой тест хорошо запрограммирован, но в Delphi точка останова отсутствует

каков путь к этому?

Ответы [ 6 ]

8 голосов
/ 14 января 2010

Вы должны запустить программу, которая запускает объект COM +, а затем присоединить его к процессу.

2 голосов
/ 14 января 2010

IE запускает подпроцесс, в котором размещается ненадежный код. Вероятно, именно поэтому ваши настройки отладки не работают и почему присоединение к процессу после запуска работает.

1 голос
/ 23 августа 2014

Эта ссылка Точка останова не соблюдается при отладке DLL помогла мне отладить мою библиотеку в Delphi 5. Перейдите в Project -> Options -> Linker -> флажок «Включить символы удаленной отладки». Я не мог сказать вам, почему это сработало. Помощь Delphi 5 предоставила следующее описание:

Включить символы удаленной отладки Установите этот флажок, если вы используете удаленную отладку.

1 голос
/ 14 января 2010

Поскольку отладчик не запускает файл, он не будет работать.

IIRC вы можете попытаться "прикрепить к процессу" к процессу, который его запускает (iexplorer.exe), но проблема в том, что это не позволяет выполнить отладку при запуске компонента. (так как ручное прикрепление стоит времени)

У меня была другая установка, где я создавал слегка скомпилированный файл .ocx на панели приложения delphi и использовал его для отладки. Который работал отлично. D

0 голосов
/ 14 января 2010

Вам также нужно включить встроенную отладку. На вкладке «Общие» параметров отладчика.

В прошлом я создавал отдельную программу, которая вызывала мой COM-объект и использовала его в качестве цели для отладки, а не стандартного хоста. Это упрощает вещи, а также позволяет создавать специальные повторяемые тесты известных проблем, чтобы помочь в дальнейшем тестировании дыма.

0 голосов
/ 14 января 2010

Вы также можете использовать такие инструменты, как CodeSite.

...