gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 22:21:51 26 4
gpt4 key购买 nike

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

有什么方法可以在 Eclipse/StatET 中调试 R 包的 C/C++ 代码(例如 this example of debugging external code linked to 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 来添加调试符号并确保编译优化不会妨碍调试。

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

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

  3. 在 Eclipse (Luna) 下,在 C/C++ 应用程序下创建一个“新调试配置”。

  4. 在“主要”标签下:

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

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

b. Project 可能指向 R-package 项目。

c。勾选“将进程输入和输出连接到终端”。

  1. 在“参数”标签下使用:

--slave --vanilla --no-save

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

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

b. R_HOME/usr/local/lib/R选择“将环境附加到 native 环境”

  1. 在“调试器”标签下

一个。选择 GDB 调试器 gdb

b.如果“GDB 命令集”未作为选项显示,请单击最底部的“选择其他...”。选择“旧版创建流程启动器”。这样做现在将显示选择 GDB 命令集的选项: Pick Standard with protocol mi

  1. 在“来源”标签下

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

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

  1. 点击调试。

关于c++ - 如何在 Eclipse 中调试 R 包(使用 C 和 C++ 代码)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22615853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com