小编Bra*_*ing的帖子

调试主 Rscript 时如何在函数体内启用断点

我有一个主 R 脚本,它使用名为 Multiply() 的函数执行乘法。

debugSource("C:/Users/R_debug_breakpoint/myFunction.R")
a<-1
b<-2
mult<-Multiply(a,b)
Run Code Online (Sandbox Code Playgroud)

我在名为“myFunction.R”的不同 R 脚本中编写 Multiply()

“myFunction.R”看起来像这样:

Multiply<-function(a,b){
  c<-a+b
  e<-a/b
  d<-a*b
  return(d)
}
Run Code Online (Sandbox Code Playgroud)

如果我想在 Multiply() 函数内的以下行设置断点: d<-a*b 并进入源代码模式以查看 c,e 的值。

但是,当我按下 main.R 中的 Source 选项时,调试器不会在我在 Muliply 函数中设置的断点处停止。它只是运行 main.R 中的所有代码。

我在很多网页上搜索过这个问题,最接近的是 How to set a Breakpoint in function body in R-studio?

但是,我这里使用了debugSource,但仍然失败。

我发现有用的关于断点的另一个博客是: https ://support.rstudio.com/hc/en-us/articles/200534337-Breakpoint-Troubleshooting

它说:为了在采购过程中命中断点,您需要使用 RStudio 中包含的特殊调试采购命令 debugSource。如果您在文件上手动调用源代码,断点仍然有效,但只有在执行完文件中的所有代码后才会启用。

我认为这就是它不起作用的原因,但它没有提到解决方法。

如果你们有任何帮助,我们将不胜感激。

debugging r breakpoints rstudio

5
推荐指数
0
解决办法
922
查看次数

标签 统计

breakpoints ×1

debugging ×1

r ×1

rstudio ×1