Как отлаживать пакет R (с кодом C и С++) в Eclipse?

В Visual Studio мы можем использовать "attach to process" для отладки DLL.

Есть ли способ отлаживать код C/С++ пакета R в Eclipse/StatET (например, этот пример отладки внешнего кода, связанного с Scilab)?

Ответы

Ответ 1

Для Eclipse-CDT C/С++ (LUNA) работают следующие шаги.

  • Скомпилируйте R (3.2) с отладочной информацией. Шаги для загрузки источника с использованием SVN можно найти в руководстве по установке R.

$./configure --enable-R-shlib --with-valgrind-instrumentation=2 --with-system-valgrind-headers --CFLAGS='-g -O0 -fPIC' FFLAGS='-g -O0 -fPIC' CXXFLAGS='-g -O0 -fPIC' FCFLAGS='-g -O0 -fPIC' 
$make
$sudo make install 

Это установит R под /usr/local/lib/R.

Примечание. -g и -O необходимы для добавления символов отладки и для обеспечения того, чтобы оптимизация с использованием нескольких параметров не препятствовала отладке.

  1. Установите правильную структуру каталогов для R-пакета с исходным кодом C. Используйте make файл вместо того, чтобы полагаться на Eclipse-StatET для создания проекта. Делает установку более легко переносимой в Windows.

  2. R CMD install в командной строке или с помощью Makefile установит пакет в локальную библиотеку R.

  3. В Eclipse (Luna) создайте "новую конфигурацию отладки" в приложении C/С++.

  4. В разделе "Главная":

а. выберите приложение C/С++:

/usr/local/lib/R/bin/exec/R

б. Проект может указывать на проект R-пакета.

с. Проверьте "Подключить процесс ввода и вывода к терминалу".

  1. В вкладке "Аргументы" используйте:

--slave --vanilla --no-save

  1. В разделе "Окружающая среда" добавьте:

а. LD_LIBRARY_PATH:/use/local/lib/R/lib

б. R_HOME/usr/local/lib/R Выберите "Добавить среду в среду"

  1. В закладке "Отладчик"

а. Выберите отладчик GDB gdb

б. Если "GDB command set" не отображается как опция, нажмите "Выбрать другое..." в самом низу. Выберите "Legacy Create Process Launcher". При этом теперь будут отображаться параметры для выбора набора команд GDB: выберите стандарт с протоколом mi.

  1. На вкладке "Источник"

а. Добавьте абсолютный путь в каталог R с источником R (необязательно) ~/Downloads/R

б. Добавьте абсолютный путь в каталог пакета src и любые другие зависимые библиотеки.

  1. Нажмите "Отладка".

Ответ 2

Сначала вы должны запустить R. Затем вы должны запустить пакет и привязать его к процессу R (Конфигурация отладки > C/С++ приложить к приложению). И R, и eclipse должны запускаться как root.

Общая библиотека должна быть адресом в... dll или... так что это библиотека пакетов R.

Примечание 1: Вы должны настроить eclipse для компиляции пакета R.

http://blog.fellstat.com/?p=170