rstudio 的 traceback() 不再以交互方式工作

rstudio's traceback() does not work interactively anymore

我刚开始在 rstudio 中进行调试。一开始一切都按照 here.

描述的那样工作

使用browser()后,我无法回到这个状态,这意味着没有交互字段,我可以在其中按hide tracebackreturn with debug按钮。有谁知道,出了什么问题?

RStudio 版本

platform x86_64-w64-mingw32
arch x86_64
os mingw32
system x86_64, mingw32
status
major 3
minor 2.2
year 2015
month 08
day 14
svn rev 69053
language R
version.string R version 3.2.2 (2015-08-14) nickname Fire Safety

如果您还需要所有 options() 设置,请告诉我。

编辑 2018 年 11 月:运行 有错误的脚本激活了交互式回溯。

getOption("error")
(function () 
{
    .rs.recordTraceback(FALSE, 5, .rs.enqueueError)
})()

破坏交互式回溯(不知道,我做了什么):

getOption("error")
(function () 
{
    .rs.recordTraceback(FALSE, 5, .rs.enqueueError)
})()

因此,设置相同,不清楚会发生什么...

我有同样的行为。在以编程方式将 R 中的 error 选项设置为 browsertracebackrecover 后,RStudio 中的按钮(Debug/On 错误)不再起作用。

为了解决这个问题,我必须首先将 error 选项重置为其默认值 NULL。之后我可以取回交互式调试器。

以下首先将选项重置为 NULL,然后将选项设置为您在 RStudio 中选择 (Debug/On Error/Error Inspector) 时获得的行为。

options(error = NULL)
options(error = function(){.rs.recordTraceback(TRUE)})