Я знаю, что существует API для создания расширений для Delphi. Я часто использую пакет GExperts и различные эксперты JVCL. Но я никогда не видел расширений для отладчика. Было бы очень приятно, например, иметь возможность регистрировать зрителей для разных объектов, а не проверять их в инспекторе. (Форма с элементом управления изображением, который отображает TImage, например, или сетку, которая отображает содержимое набора данных.)
Существуют ли какие-либо API-интерфейсы, позволяющие расширять отладчик Delphi таким образом?
EDIT: Это не было доступно, когда я написал вопрос, но Delphi 2010 предоставляет способ сделать это.
В источнике ToolsAPI.pas есть некоторые интерфейсы API для отладки. Вы можете узнать, когда произошло событие отладки, информация о контрольных точках, какой процесс отлаживается и т.д. С помощью этого API. Но, похоже, нет никакой поддержки переменным или значениям из них. Таким образом, нет простого способа реализовать вашу заявку без уродливых хаков.
Основные визуализаторы отладчика могут быть реализованы с помощью интерфейсов оценки, открытых OTA. (Примеры визуализаторов отладчика можно найти здесь и здесь.)
Возможно и более глубокое интегрирование в отладчик (например, я написал небольшое расширение для С++ Builder, которое позволяет отладчику оценивать фактические объекты за интерфейсом), но, как отметил Хан, для достижения такой уровень интеграции, вам нужно прибегнуть к довольно многим грязным хакам.