use*_*187 16 c++ eclipse debugging r statet
在Visual Studio中,我们可以使用"附加到进程"来调试DLL.
有没有办法在Eclipse/StatET 中调试 R包的C/C++代码(例如调试链接到Scilab的外部代码的示例)?
以下步骤适用于Eclipse-CDT C/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
Run Code Online (Sandbox Code Playgroud)
这将安装R下/usr/local/lib/R.
注意:需要-g和-O来添加调试符号并确保comiple优化不会阻止调试.
使用C源代码为R-package设置正确的目录结构.使用makefile而不是依赖Eclipse-StatET来构建项目.使设置更容易移植到Windows.
在命令行安装R CMD或使用Makefile将软件包安装到用户的本地R库.
在Eclipse(Luna)下,在C/C++ Application下创建一个"New Debug Configuration".
在"主要"标签下:
一个.选择一个C/C++应用程序:
/usr/local/lib/R/bin/exec/R
湾 项目可能指向R-package项目.
C.选中"将过程输入和输出连接到终端".
--slave --vanilla --no-save
一个.LD_LIBRARY_PATH:/ use/local/lib/R/lib
湾 R_HOME/usr/local/lib/R选择"将环境附加到本机环境"
一个.选择GDB调试器gdb
湾 如果"GDB命令集"未显示为选项,请单击最底部的"选择其他...".选择"Legacy Create Process Launcher".这样做现在将显示选择GDB命令集的选项:使用协议选择标准mi.
一个.使用R source(可选)〜/ Downloads/R添加R目录的绝对路径
湾 添加包src目录和任何其他依赖库的绝对路径.