В Visual Studio мы можем использовать "attach to process" для отладки DLL.
Есть ли способ отлаживать код C/С++ пакета R в Eclipse/StatET (например, этот пример отладки внешнего кода, связанного с Scilab)?
В Visual Studio мы можем использовать "attach to process" для отладки DLL.
Есть ли способ отлаживать код C/С++ пакета R в Eclipse/StatET (например, этот пример отладки внешнего кода, связанного с Scilab)?
Для Eclipse-CDT C/С++ (LUNA) работают следующие шаги.
$./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 необходимы для добавления символов отладки и для обеспечения того, чтобы оптимизация с использованием нескольких параметров не препятствовала отладке.
Установите правильную структуру каталогов для R-пакета с исходным кодом C. Используйте make файл вместо того, чтобы полагаться на Eclipse-StatET для создания проекта. Делает установку более легко переносимой в Windows.
R CMD install в командной строке или с помощью Makefile установит пакет в локальную библиотеку R.
В Eclipse (Luna) создайте "новую конфигурацию отладки" в приложении C/С++.
В разделе "Главная":
а. выберите приложение C/С++:
/usr/local/lib/R/bin/exec/R
б. Проект может указывать на проект R-пакета.
с. Проверьте "Подключить процесс ввода и вывода к терминалу".
--slave --vanilla --no-save
а. LD_LIBRARY_PATH:/use/local/lib/R/lib
б. R_HOME/usr/local/lib/R Выберите "Добавить среду в среду"
а. Выберите отладчик GDB gdb
б. Если "GDB command set" не отображается как опция, нажмите "Выбрать другое..." в самом низу. Выберите "Legacy Create Process Launcher". При этом теперь будут отображаться параметры для выбора набора команд GDB: выберите стандарт с протоколом mi
.
а. Добавьте абсолютный путь в каталог R с источником R (необязательно) ~/Downloads/R
б. Добавьте абсолютный путь в каталог пакета src и любые другие зависимые библиотеки.
Сначала вы должны запустить R. Затем вы должны запустить пакет и привязать его к процессу R (Конфигурация отладки > C/С++ приложить к приложению). И R, и eclipse должны запускаться как root.
Общая библиотека должна быть адресом в... dll или... так что это библиотека пакетов R.
Примечание 1: Вы должны настроить eclipse для компиляции пакета R.