12.2 调试脚本或函数

12.2.1 问题

您想要调试脚本或函数。

12.2.2 方案

将其插入您要开始调试的位置的代码中:

  1. browser()

当 R 解释器到达该行时,它将暂停你的代码,您将能够查看和更改变量。

在控制台中,键入这些字母将执行以下操作

c继续
n (or Return)下一步
Q放弃
Ctrl-C回到顶级

在控制台中,你可以看到当前范围中的变量。

  1. ls()

要为函数中的每一行暂停和启动浏览器

  1. debug(myfunction)
  2. myfunction(x)

12.2.3 有用的选项

默认情况下,每次在提示符下按 Enter 键,它都会运行下一步。这相当于按 n,然后按 Enter 键。这可能很烦人。要禁用它,请使用:

  1. options(browserNLdisabled=TRUE)

要在抛出错误时开始调试,请在抛出错误的函数之前运行此命令

  1. options(error=recover)

如果你希望每次启动R时都设置这些选项,则可以将它们放在 ~/.Rprofile 文件中。