2011-06-08 4 views
2

Dans mon plugin Eclipse, je souhaite être averti des événements du débogueur (par exemple, lorsque le pas à pas ou un point d'arrêt est atteint). J'ai réussi à obtenir ce travail dans un environnement JDT en vous inscrivant à des événements de débogage en utilisant ce code:Evénements du débogueur Eclipse

DebugPlugin.getDefault().addDebugEventListener(this); 

Ce qui donne ce gestionnaire d'événements:

public void handleDebugEvents(DebugEvent[] events) 
{ 
} 

En JDT cela est tiré sur le point d'arrêt ou de suspendre événements et j'espérais que le comportement serait le même dans CDT. Cependant, ce n'est pas le cas. Je ne reçois que deux Créer des événements au début de la session de débogage:

DebugEvent [[email protected], CREATE, UNSPECIFIED] DebugEvent [org.eclipse.debug .core.model.RuntimeProcess @ 920d5d, CREATE, UNSPECIFIED]

y at-il une solution générique qui ne nécessiterait pas de dépendances spécifiques sur JDT ou CDT?

Merci, Alan

Répondre

0

Je pense que ce que vous voulez ne peut être atteint (générique, l'implémentation solution indépendante) sans écouter et creuser chaque action dans l'environnement Eclipse, car je comprends que le plug-in de débogage générique Eclipse est juste le cadre sur lequel construire un débogueur spécifique à l'implémentation, comme le propre débogueur de Java.

L'appel statique que vous effectuez pour DebugPlugin est un appel à ce 'framework' de base sur lequel s'exécute le CDT ou le JDT. Par exemple, si je voulais enregistrer un écouteur breakpoint dans le débogueur Java, j'appellerais JDIDebugModel.addJavaBreakpointListener(<Your Java breakpoint listener class>);.

P.S. S'il existe un moyen d'écouter uniquement les événements déclenchés depuis/via le plug-in de débogage de plate-forme générique, qui comprendrait les événements déclenchés par les plug-ins qui s'étendent de ce débogueur générique, cela facilitera la tâche que vous cherchez à accomplir .