我有一个R脚本,该脚本通常从命令行启动并带有参数:
./script.R --width=10
Run Code Online (Sandbox Code Playgroud)
它使用Rscript作为解释器:
#!/usr/bin/env Rscript
Run Code Online (Sandbox Code Playgroud)
不幸的是,它在使用R执行我在R中编译的C代码时给了我一个分段错误.C("compiled_function")。
那么如何R在gdb连接调试器的情况下运行脚本?
Rscript显然不知道该-d选项。
我试过了
R -d gdb --vanilla --args --width=10 < script.R
Run Code Online (Sandbox Code Playgroud)
但是,由于将传递--width=10给了调试器,所以它不起作用。什么是正确的选择?
也许我应该以R交互方式开始:
$ R -d gdb --vanilla
Run Code Online (Sandbox Code Playgroud)
但是然后我不知道如何source编写脚本并传递参数(--width=10)。
我认为一般的GNU getopt约定--用于表示其余参数。所以尝试
R -d gdb --vanilla -- --width=10 < script.R
Run Code Online (Sandbox Code Playgroud)
否则,硬编码脚本或编译函数中的参数值。
| 归档时间: |
|
| 查看次数: |
3093 次 |
| 最近记录: |