2012-01-24 1 views
3

Je travaille sur une vue de débogage personnalisée dans un plugin Eclipse. Dans cette vue, j'ai besoin de savoir quand nous sommes en mode débogage et si un point d'arrêt est actuellement touché.Création d'une vue de débogage Eclipse

À l'heure actuelle, cela fonctionne lorsque ma vue est active en écoutant les divers événements de débogage dans DebugPlugin et IBreakpointManager. Cela fonctionne lorsque ma vue a déjà été ouverte et que le plugin est activé, mais si ma vue est ouverte pendant une session de débogage, elle n'a aucun moyen de savoir si une session de débogage a démarré ou non.

Existe-t-il un moyen de vérifier explicitement si une session de débogage est en cours? Une possibilité est de forcer mon plugin à démarrer automatiquement quand Eclipse se charge mais je préfère éviter cela.

Des idées?

Merci, Alan

Répondre

4

Lorsque votre plug-in active peut obtenir une prise du gestionnaire de lancement:

ILaunchManager = DebugPlugin.getDefault().getLaunchManager(); 

Un ILaunchManager peut vous donne un tableau de iLaunch:

ILaunch[] launches = launchManager.getLaunches(); 
Chaque ILaunch a des cibles de débogage

... et chaque IDebugTarget peut vous dire si elle est actuellement suspendue:

debugTarget.isSuspended(); 

Je suggère la lecture de ces API et de faire un peu de débogage pour déterminer exactement comment travailler si une session de débogage est actif et un point d'arrêt est actuellement touché. Je n'ai pas le temps maintenant de vérifier cela pour vous. Remarque: si le plug-in de débogage n'est pas utilisé, sa valeur par défaut sera null.

+0

Merci @katsharp. C'était très utile. J'ai trouvé que la présence d'une cible de débogage était suffisante pour mes besoins. Très apprécié. –