Debugging 如何在连接gdb的情况下运行R脚本?
我有一个R脚本,它通常从命令行开始,并带有参数:Debugging 如何在连接gdb的情况下运行R脚本?,debugging,r,gdb,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 但是我
./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
)。我认为通用的GNU getopt约定是使用--
来表示剩余的参数。所以试试看
R-dgdb--vanilla--width=10
否则,在脚本或编译函数中硬连接参数值。当我尝试这样做时,出于某种原因,script.R中的R代码由gdb解释,这是一个混乱。必须有一种方法来调用这个东西,而不必在我的脚本中硬连接参数值(我实际上有很多参数,不仅仅是我在示例中给出的参数)。然后不要使用重定向。启动R-dgdb
并改为执行source(“script.R”)
。但是如何将选项传递给脚本呢?如果我只是说source(“script.R”)
它会抱怨没有设置值(“width”,等等)。也许会将它们设置在最上面?
$ R -d gdb --vanilla
R -d gdb --vanilla -- --width=10 < script.R