debugging 不使用源代码调试R

gcmastyq  于 2022-11-24  发布在  其他
关注(0)|答案(1)|浏览(117)

在R-studio中,断点不会触发,除非你点击“source”,这会得到整个文件。这是不方便的,因为在我的代码开始时,我通常会导入数据和做其他需要一段时间运行的任务。
我希望能够选择一些代码并只调试这些代码。这种行为在MATLAB和VB中是可能的。在R-studio或任何其他R IDE中是否可以实现?

htrmnn0y

htrmnn0y1#

我不太确定是否可以在顶层调试代码(我希望我知道是否可以),但是对于函数,您可以尝试以下方法之一。注意,调试器在一个单独的选项卡上打开。一开始可能会有点不和谐。
1.将browser()添加到函数中。

function someFunction() {
  i <- 1
  browser() # stop here
  i + 1
}

1.在运行函数之前,对其进行标记(请参见this answer)。

debug(someFunction) # flag function
someFunction()
undebug(someFunction) # unflag function

# alternatively use debugonce so your function is debugged only the first time
debugonce(someFunction)
someFunction() # debugged
someFunction() # not debugged

相关问题