12.2 调试脚本或函数
12.2.1 问题
您想要调试脚本或函数。
12.2.2 方案
将其插入您要开始调试的位置的代码中:
browser()
当 R 解释器到达该行时,它将暂停你的代码,您将能够查看和更改变量。
在控制台中,键入这些字母将执行以下操作
c | 继续 |
---|---|
n (or Return) | 下一步 |
Q | 放弃 |
Ctrl-C | 回到顶级 |
在控制台中,你可以看到当前范围中的变量。
ls()
要为函数中的每一行暂停和启动浏览器
debug(myfunction)
myfunction(x)
12.2.3 有用的选项
默认情况下,每次在提示符下按 Enter 键,它都会运行下一步。这相当于按 n,然后按 Enter 键。这可能很烦人。要禁用它,请使用:
options(browserNLdisabled=TRUE)
要在抛出错误时开始调试,请在抛出错误的函数之前运行此命令
options(error=recover)
如果你希望每次启动R时都设置这些选项,则可以将它们放在 ~/.Rprofile
文件中。