2012-06-28 2 views
0

Я пытаюсь написать плагин, который изменит функциональность текущего java-отладчика eclipse. Для получения подробной информации о том, что я пытаюсь выполнить, вы можете увидеть эту тему: Writing a custom eclipse debugger. Я задаю новый вопрос, чтобы устранить некоторую путаницу в отношении особенностей работы плагинов eclipse.Расширение Eclipse JDT

Так что, если бы я хотел отрегулировать отладчик (или любую часть JDT), то, насколько я понимаю, что позволяет это происходит через плагины, это то, что известно как точки расширения, в основном указывает на предоставление доступа для расширения функциональности и контролируйте то, что вы можете или не можете сделать до некоторой степени. Мой первый вопрос: правильно ли это понимание концепции, и если да, то как вы находите эти точки расширения (и в конечном итоге это хорошая отправная точка для моей конкретной проблемы отладки)?

Мой второй вопрос касается отладчика, если бы я хотел каким-то образом вытащить данные из отладчика (например, информацию о переменной/стеке, в основном информацию, отображаемую пользователю) и использовать его в моем собственном плагине, это возможно/как бы вы начали приближаться к нему (это вопрос о точках расширения)?

Я просмотрел исходный код отладчика eclipse, и у меня есть общее представление о том, что происходит в процессе отладки, но как заставить мой плагин связывать/извлекать данные, которые сам отладчик получает в процесс отладки?

BTW, если кто-нибудь может ответить на некоторые из этих вопросов, особенно те, которые касаются моей конкретной проблемы, не стесняйтесь публиковать сообщения в другой теме, поскольку есть еще открытая +200 баунти, и здесь вопросы могут помочь ответить более широким вопрос, который размещен там.

Благодарим за помощь.

ответ

2

Вы правы в отношении концепции расширения: существующий подключаемый модуль может обеспечить точку расширения - место, где он ожидает, что другие плагины будут вносить свой вклад.

В случае подключаемых модулей отладки вы можете использовать статические методы org.eclipse.debug.ui.DebugUITools; класс: метод getDebugContext() возвращает текущий активный контекст отладки, а служба getDebugContextManager() добавляет поддержку для прослушивания изменений контекста. У нас есть плагин, реализованный так: он прослушивает изменения Debug Context и визуализирует текущие переменные в графе Zest. Контекстная информация собирается по строке 183 в файле http://code.google.com/a/eclipselabs.org/p/debugvisualisation/source/browse/hu.cubussapiens.debugvisualisation/src/hu/cubussapiens/debugvisualisation/views/DebugVisualisationView.java. Стоит взглянуть.

Смежные вопросы