Интеграция eclipse с другим отладчиком

#eclipse #debugging #eclipse-plugin #gdb #eclipse-cdt

#eclipse #отладка #eclipse-плагин #gdb #затмение-cdt #eclipse-cdt

Вопрос:

У нас есть отладчик, разработанный в нашей компании для нашего собственного проприетарного языка сценариев. Этот отладчик имеет тот же внешний вид, что и отладчик gdb, доступный в C. Он запускает командную строку и имеет опции для добавления точек останова, печати значений, потока вызовов методов и т.д. Теперь я должен интегрировать этот отладчик с eclipse. В принципе, eclipse должен вызывать этот отладчик, который установлен на том же хосте, и разработчик должен иметь возможность работать без сбоев.

Я прочитал несколько статей о том, как создать отладчик в eclipse, но не нашел никаких материалов о том, как Eclipse следует «интегрировать» с сторонним отладчиком. Предоставляет ли eclipse какие-либо стандартные API, хуки, плагины примерно для того же? Любезно сообщите.

Ответ №1:

Eclipse, конечно, с открытым исходным кодом. Лучше всего прочитать исходный код пакета CDT (пакет, который интегрирует GDB и т.д.) и посмотреть, какие точки расширения он использует. Некоторые из них будут более документированы, чем другие.

Ответ №2:

Я сделал это некоторое время назад для какого-то проприетарного языка — документация по API хорошо написана, а точки расширения очень всеобъемлющие.

Вы можете столкнуться с проблемами, если в вашем языке есть концепции, которые не поддерживаются фреймворком (болезненным примером было состояние «ожидание пользователя» поверх классических «запущено» и «приостановлено»). Кроме этого, это просто (и требует много времени, в расширениях eclipse debugger содержится МНОЖЕСТВО представлений и концепций).

Комментарии:

1. Привет @ptyx вы хотите сказать , что сделали это с помощью пакета CDT ?

2. Здравствуйте, поскольку вы уже использовали CDT, было бы здорово, если бы вы могли дать обзор основных API CDT, которые вы использовали для интеграции отладчика. Поскольку в CDT есть много чего, это кажется вполне исчерпывающим. Поэтому я буду очень благодарен, если вы дадите мне несколько советов о том, как действовать дальше.

3. Это было около 2 лет назад, так что я, честно говоря, мало что помню. Что я сделал в то время, так это посмотрел на CDT, посмотрел на Java debugger и в значительной степени скопировал / вставил точки расширения, которые они использовали и казались мне релевантными. Отталкиваться от всего, что доступно в CDT, действительно невероятно.