¿Cómo depurar un paquete R(con código C y C++) en Eclipse?
debugging statet (2)
Debes ejecutar R primero. Luego, debe ejecutar el paquete y adjuntarlo al proceso R (Depurar configuración> C / C ++ adjuntar a la aplicación). Tanto R como eclipse deben ejecutarse como root.
La biblioteca compartida debe ser la dirección para ... dll o ... entonces, que es la biblioteca del paquete R.
Nota 1: Debe configurar eclipse para compilar un paquete R.
En Visual Studio podemos usar "adjuntar para procesar" para depurar las DLL.
¿Hay alguna forma de depurar el código C / C ++ de un paquete R en Eclipse / StatET (es decir, algo como este ejemplo de depuración de código externo vinculado a Scilab )?
Los siguientes pasos funcionan para Eclipse-CDT C / C ++ (LUNA).
- Compilar R (3.2) con información de depuración. Los pasos para descargar la fuente usando SVN se pueden encontrar en la guía de instalación de 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
Esto instalará R bajo /usr/local/lib/R
Nota: -g y -O son necesarios para agregar símbolos de depuración y para asegurarse de que la optimización comiple no impida la depuración.
Configure la estructura de directorios adecuada para un paquete R con código fuente C. Use un makefile en lugar de confiar en Eclipse-StatET para construir el proyecto. Hace que la configuración sea más fácilmente portátil a Windows.
La instalación de R CMD en la línea de comandos o utilizando Makefile instalará el paquete en la biblioteca R local del usuario.
Bajo Eclipse (Luna) cree una "Nueva configuración de depuración" bajo la aplicación C / C ++.
En la pestaña ''Principal'':
a. seleccione una aplicación C / C ++:
/usr/local/lib/R/bin/exec/R
segundo. El proyecto puede apuntar al proyecto R-package.
do. Marque "Conectar entrada y salida de proceso a un terminal".
- En la pestaña "Argumentos" use:
--slave --vanilla --no-save
- En la pestaña ''Entorno'' agrega:
a. LD_LIBRARY_PATH: / use / local / lib / R / lib
segundo. R_HOME / usr / local / lib / R Seleccione "Agregar entorno a entorno nativo"
- En la pestaña "Depurador"
a. Elija GDB debugger gdb
segundo. Si el ''conjunto de comandos GDB'' no se muestra como una opción, haga clic en ''Seleccionar otro ...'' en la parte inferior. Elija ''Legacy Create Process Launcher''. Al hacerlo, ahora se mostrarán las opciones para elegir el conjunto de comandos de GDB: Elija Estándar con el protocolo mi
.
- En la pestaña "fuente"
a. Agregue la ruta absoluta al directorio R con la fuente R (opcional) ~ / Descargas / R
segundo. Agregue la ruta absoluta al directorio src del paquete y cualquier otra biblioteca dependiente.
- Haga clic en Depurar.