Создание представления отладки Eclipse

Я работаю над пользовательским представлением отладки в плагине Eclipse. В этом представлении мне нужно знать, когда мы находимся в режиме отладки и не сработала ли в данный момент точка останова.

На данный момент у меня это работает, когда мое представление активно, прослушивая различные события отладки в DebugPlugin и IBreakpointManager. Это работает, когда мое представление уже открыто и плагин активирован, но если мое представление открыто во время сеанса отладки, то у него нет возможности узнать, начался ли сеанс отладки или нет.

Есть ли способ явно проверить, выполняется ли сеанс отладки? Одна из возможностей — заставить мой плагин запускаться автоматически при загрузке Eclipse, но я бы предпочел этого избежать.

Любые идеи?

Спасибо, Алан


person Alan Spark    schedule 24.01.2012    source источник


Ответы (1)


Когда ваш плагин активируется, вы можете получить доступ к диспетчеру запуска:

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

ILaunchManager может предоставить вам массив ILaunch:

ILaunch[] launches = launchManager.getLaunches();

У каждого ILaunch есть несколько целей отладки:

IDebugTarget[] debugTargets = launch.getDebugTargets();

... и каждый IDebugTarget может сообщить вам, приостановлено ли оно в данный момент:

debugTarget.isSuspended();

Я бы посоветовал прочитать эти API и выполнить небольшую отладку, чтобы точно определить, как работать, если сеанс отладки активен и в данный момент достигнута точка останова. У меня сейчас нет времени проверять это для вас.

Примечание. Если подключаемый модуль отладки не используется, его значение по умолчанию будет нулевым.

person katsharp    schedule 24.01.2012
comment
Спасибо @katsharp. Это было очень полезно. Я обнаружил, что для моих нужд достаточно наличия цели отладки. Очень ценю. - person Alan Spark; 24.01.2012