在 RStudio 中进行调试会引发错误



我有一个R脚本,它不会抛出我期望的内容。 但是,它确实贯穿始终。 为了修复它,我尝试设置断点以进入调试模式。

但是当我这样做时,我收到一个错误,上面写着:

debugSource('~/mycode/konfio/Projects/Interest Rates/src/getPARS.R', echo=TRUE)
Error in if (length(funBody[[idx]]) != length(originalFunBody[[idx]]) ||  : 
missing value where TRUE/FALSE needed

我已经用谷歌搜索了这个错误,但只找到了一个没有帮助的链接。如果有人知道如何让我动手调试器,或者我可以搜索问题的其他地方,我将不胜感激。
谢谢。

RStudio 的断点通过重写函数以包含调试代码来工作。此问题最可能的原因是 RStudio 中的一个错误,导致它无法重写您的函数。有几种可能的解决方案:

  1. 仅删除要调试的语句,并将它们放入单独的函数中。在该函数上设置断点并从主脚本调用它。

  2. 使用基于browser()的调试:只需在设置断点的位置添加browser()(RStudio 的调试器也适用于 R 调试功能)。

  3. 使用较新版本的 RStudio。调试 R 脚本(与函数相反)最近有了很大的改进,如果你觉得特别勇敢,可以尝试每日构建。

如果您有时间,请将您遇到问题的文件内容发布到 RStudio 的支持论坛;我们想看看我们是否可以在即将推出的版本中进行修复。

最新更新