2009-01-16 16 views
40

Ich weiß, dass es eine API zum Erstellen von Erweiterungen für Delphi gibt. Ich verwende häufig das GExperts-Paket und verschiedene JVCL-Experten. Aber ich habe noch nie Erweiterungen des Debuggers gesehen. Es wäre zum Beispiel sehr schön, Zuschauer für verschiedene Objekte registrieren zu können, anstatt sie im Inspektor untersuchen zu müssen. (Ein Formular mit einem Bildsteuerelement, das beispielsweise ein TImage anzeigt, oder ein Gitter, das den Inhalt eines Datasets anzeigt.)Ist es möglich, Erweiterungen in Delphi Debugger zu schreiben?

Gibt es APIs, mit denen Sie den Delphi-Debugger auf diese Weise erweitern können?

EDIT: Dies war nicht verfügbar zurück, als ich die Frage schrieb, aber Delphi 2010 bietet eine Möglichkeit, es zu tun.

+0

Gute Frage :-) 10 upvotes und eine Antwort. –

+1

Ich stimme zu. Vielleicht wird Nick Hodges es bemerken - ich denke, er achtet auf die Gemeinschaft. – Argalatyr

+0

Ja, das wäre nett. –

Antwort

17

In ToolsAPI.pas Quelle gibt es einige API-Schnittstellen zum Debuggen. Sie können informiert werden, wenn ein Debugging-Ereignis aufgetreten ist, Informationen über Haltepunkte, welcher Prozess wird debuggt usw. mit dieser API. Aber es scheint, dass es keine Unterstützung für Variablen oder Werte von ihnen gibt. Es gibt also keine einfache Möglichkeit, Ihre Anforderungen ohne hässliche Hacks umzusetzen.

4

Einfache Debugger-Visualisierer können mit den vom OTA bereitgestellten Evaluierungsschnittstellen implementiert werden. (Beispiele für Debugger Visualizer können here und here zu finden.)

Eine tiefere Integration in den Debugger möglich ist, als auch (zum Beispiel schrieb ich eine kleine Erweiterung für C++ Builder, der den Debugger ermöglicht die tatsächlichen Objekte zu bewerten hinter einer Schnittstelle) - aber wie Khan darauf hingewiesen hat, müssen Sie, um ein solches Integrationsniveau zu erreichen, auf einige schmutzige Hacks zurückgreifen.

Verwandte Themen