Подтвердить что ты не робот

Можно ли написать расширения для отладчика Delphi?

Я знаю, что существует API для создания расширений для Delphi. Я часто использую пакет GExperts и различные эксперты JVCL. Но я никогда не видел расширений для отладчика. Было бы очень приятно, например, иметь возможность регистрировать зрителей для разных объектов, а не проверять их в инспекторе. (Форма с элементом управления изображением, который отображает TImage, например, или сетку, которая отображает содержимое набора данных.)

Существуют ли какие-либо API-интерфейсы, позволяющие расширять отладчик Delphi таким образом?

EDIT: Это не было доступно, когда я написал вопрос, но Delphi 2010 предоставляет способ сделать это.

4b9b3361

Ответ 1

В источнике ToolsAPI.pas есть некоторые интерфейсы API для отладки. Вы можете узнать, когда произошло событие отладки, информация о контрольных точках, какой процесс отлаживается и т.д. С помощью этого API. Но, похоже, нет никакой поддержки переменным или значениям из них. Таким образом, нет простого способа реализовать вашу заявку без уродливых хаков.

Ответ 2

Основные визуализаторы отладчика могут быть реализованы с помощью интерфейсов оценки, открытых OTA. (Примеры визуализаторов отладчика можно найти здесь и здесь.)

Возможно и более глубокое интегрирование в отладчик (например, я написал небольшое расширение для С++ Builder, которое позволяет отладчику оценивать фактические объекты за интерфейсом), но, как отметил Хан, для достижения такой уровень интеграции, вам нужно прибегнуть к довольно многим грязным хакам.