Debugging 在浏览器()之后继续执行

Debugging 在浏览器()之后继续执行,debugging,r,browser,Debugging,R,Browser,我正在调试R代码。 该函数暂停当前R脚本的执行并允许检查。 是否可以在执行期间动态启用/禁用调试模式? 对于大型脚本,它将非常方便 谢谢您的问题促使我阅读了?浏览器。文档中说,您可以使用expr=参数来browser创建条件调试(假象)。这样,再加上一个全局选项,你就会得到你想要的 foo <- function(x) { browser(expr=isTRUE(getOption("myDebug"))) mean(x) } foo(1:10) options(myDebug=T

我正在调试R代码。 该函数暂停当前R脚本的执行并允许检查。 是否可以在执行期间动态启用/禁用调试模式? 对于大型脚本,它将非常方便


谢谢

您的问题促使我阅读了
?浏览器
。文档中说,您可以使用
expr=
参数来
browser
创建条件调试(假象)。这样,再加上一个全局选项,你就会得到你想要的

foo <- function(x) {
  browser(expr=isTRUE(getOption("myDebug")))
  mean(x)
}
foo(1:10)
options(myDebug=TRUE)
foo(1:10)  # invokes browser

foo+1--感谢大家阅读
browser
!为此,我一直在
if
子句中包装
browser
,但现在不再包装了。@JoshO'Brien:您可能仍然希望在
if
语句中包装它<代码>?浏览器
说这比使用
expr=
要快。好了,就是这样。。。看来我需要一次又一次地阅读
?浏览器
!谢谢,超级漂亮的把戏。将其添加到此处编译的调试技巧中