繁体   English   中英

如何在Eclipse中调试R包(使用C和C ++代码)?

[英]How to debug an R package (with C and C++ code) in Eclipse?

在Visual Studio中,我们可以使用“附加到进程”来调试DLL。

有没有办法在Eclipse / StatET 中调试 R包的C / C ++代码( 例如调试链接到Scilab的外部代码的示例 )?

以下步骤适用于Eclipse-CDT C / C ++(LUNA)。

  1. 使用调试信息编译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 

这将在/usr/local/lib/R下安装R.

注意:需要-g和-O来添加调试符号并确保comiple优化不会阻止调试。

  1. 使用C源代码为R-package设置正确的目录结构。 使用makefile而不是依赖Eclipse-StatET来构建项目。 使设置更容易移植到Windows。

  2. 在命令行安装R CMD或使用Makefile将软件包安装到用户的本地R库。

  3. 在Eclipse(Luna)下,在C / C ++ Application下创建一个“New Debug Configuration”。

  4. 在“主要”标签下:

一个。 选择一个C / C ++应用程序:

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

项目可能指向R-package项目。

C。 选中“将过程输入和输出连接到终端”。

  1. 在“参数”选项卡下,使用:

--slave --vanilla --no-save

  1. 在“环境”标签下添加:

一个。 LD_LIBRARY_PATH:/ use / local / lib / R / lib

R_HOME / usr / local / lib / R选择“将环境附加到本机环境”

  1. 在“调试器”选项卡下

一个。 选择GDB调试器gdb

如果“GDB命令集”未显示为选项,请单击最底部的“选择其他...”。 选择“Legacy Create Process Launcher”。 这样做现在将显示选择GDB命令集的选项:使用协议mi选择标准。

  1. 在“来源”标签下

一个。 使用R source(可选)〜/ Downloads / R添加R目录的绝对路径

添加包src目录和任何其他依赖库的绝对路径。

  1. 单击Debug。

你应该先运行R. 然后你应该运行包并将它附加到R进程(调试配置> C / C ++附加到应用程序)。 R和eclipse都必须以root身份运行。

共享库必须是... dll或...的地址,因此,这是R包库。

注1:您应该设置eclipse来编译R包。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM