【问题标题】:rstudio's traceback() does not work interactively anymorerstudio 的 traceback() 不再以交互方式工作
【发布时间】:2016-07-28 17:08:24
【问题描述】:

我刚开始在 rstudio 中进行调试。一开始一切都按照here的描述工作。

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

RStudio 版本

平台 x86_64-w64-mingw32
拱 x86_64
操作系统 mingw32
系统 x86_64, mingw32
状态
专业 3
次要 2.2
2015 年
08月
第 14 天
svn 版本 69053
语言 R
version.string R 版本 3.2.2 (2015-08-14) 昵称 Fire Safety

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

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

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

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

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

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

【问题讨论】:

  • 不幸的是,我的建议也没有对我有用,所以我删除了我的答案。 :-(

标签: r rstudio traceback


【解决方案1】:

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

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

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

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

【讨论】:

  • 以下对我有用: 1. options(error = NULL) 2. RStudio => Debug => On Error => Error Inspector 但是,它只能工作一次。之后我必须再次执行相同的过程才能使其再次工作。以下不起作用:1. options(error = NULL) 2. options(error = function(){.rs.recordTraceback(TRUE)})
  • 见讨论here
  • 截至 2019 年 12 月,链接似乎已失效
猜你喜欢
  • 2012-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-15
  • 2018-07-02
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
相关资源
最近更新 更多