2009-01-16 13 views
40

Sé que hay una API para crear extensiones de Delphi. Uso el paquete GExperts y varios expertos de JVCL con frecuencia. Pero nunca he visto ninguna extensión para el depurador. Sería muy agradable, por ejemplo, poder registrar visores para varios objetos en lugar de tener que examinarlos en el Inspector. (Un formulario con un control de imagen que muestra un TImage, por ejemplo, o una grilla que muestra el contenido de un conjunto de datos.)¿Es posible escribir extensiones en el depurador de Delphi?

¿Hay alguna API que le permita extender el depurador de Delphi de esta manera?

EDIT: Esto no estaba disponible cuando yo escribí la pregunta, pero Delphi 2010 ofrece una manera de hacerlo.

+0

Buena pregunta :-) 10 upvotes y una respuesta. –

+1

Estoy de acuerdo. Tal vez Nick Hodges se dará cuenta, creo que presta atención a la comunidad. – Argalatyr

+0

Sí, eso sería bueno. –

Respuesta

17

En la fuente de ToolsAPI.pas hay algunas interfaces API para la depuración. Se le puede informar cuándo se produjo un evento de depuración, información sobre puntos de interrupción, qué proceso se está depurando, etc. con esta API. Pero parece que no hay soporte para las variables o valores de ellos. Por lo tanto, no hay una manera fácil de implementar su solicitud sin feos hacks.

4

visualizadores del depurador básicos se pueden implementar con las interfaces de evaluación expuestas por la OTA. (Ejemplos para visualizadores del depurador se pueden encontrar here y here.)

Una integración más profunda en el depurador es posible también (por ejemplo, escribí un poco de extensión para C++ Builder que permite el depurador para evaluar los objetos reales detrás de una interfaz), pero como Khan señaló, para lograr tal nivel de integración, necesitarás recurrir a bastantes hacks sucios.

Cuestiones relacionadas