debugging - 如何在附加 gdb 的情况下运行 R 脚本?

标签 debugging r gdb

我有一个 R 脚本,通常从带有参数的命令行启动:

./script.R --width=10

它使用 Rscript 作为解释器:

#!/usr/bin/env Rscript 

不幸的是,当它使用 .C("compiled_function") 在 R 中执行我编译的 C 代码时,它给了我一个段错误。

那么如何运行附加了 gdb 调试器的 R 脚本呢?

Rscript 显然不知道 -d 选项。

我试过了

R -d gdb --vanilla --args --width=10 < script.R

但是它不起作用,因为它将 --width=10 传递给了调试器。什么是正确的选择?

也许我应该以交互方式启动R:

$ R -d gdb --vanilla 

但是我不知道如何获取我的脚本并传递参数 (--width=10)。

最佳答案

我认为一般的 GNU getopt 约定是使用 -- 来表示剩余参数。所以尝试一下

 R -d gdb --vanilla -- --width=10 < script.R

否则,将参数值硬连线到脚本或编译函数中。

关于debugging - 如何在附加 gdb 的情况下运行 R 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3618556/

相关文章:

R从数据框中选择单个数据点

r - 用R中的曲线(s-ish曲线)连接两点

regex - 匹配以已知模式开头的单词

gdb - 如何修改gdb中的断点行?

c - 堆栈和机器指令驻留在内存中的什么位置?

debugging - 在 arm7 上启用浮点异常时 fpscr 寄存器未更新,未生成 SIGFPE

javascript - 如何强制 Chrome 调试工具以漂亮的代码进行调试?

gdb - 查看以前的 gdb 命令

flutter - flutter 失去与物理设备的连接

java - 如何在 Java 代码中运行 Jmeter 脚本?