R 中的交互式调试



我有一个玩具R脚本(测试。R( 如下:

myString <- "Hello World"
browser()
print(myString)

我想以交互方式调试脚本,因此调用" browser() "。

但是,当我像这样运行脚本时:

Rscript test.R

我只看到:

Called from: top level 
[1] "Hello World"

即"浏览器(("调用似乎被跳过了。当我像这样运行脚本时:

R -f test.R

明白了:

>
> myString <- "Hello World"
> browser()
Called from: top level
Browse[1]> print (myString)
[1] "Hello World"
Browse[1]>
>

但是,执行不会停止在"浏览[1]>"以允许我进行调试。

我在这里错过了什么?在python中,我可以插入"import pdb; pdb.set_trace()"进行调试。我正在 R 中寻找类似的东西。

请参阅此处了解如何使用 browser()。您将能够在终端上的 R 交互环境中source('scriptname.R')脚本(通过运行 R 而不是 Rscript scriptname.R (,然后browser()的行为将与 import pdb; pdb.set_trace() 非常相似。一个主要的警告是参数 - 您可以手动配置它以使用您在命令行上提供的参数,例如if(interactive())(或者可能有其他方法可以实现这一点(。

相关内容

  • 没有找到相关文章

最新更新