问题是在 RStudio 中,当我设置断点来调试代码时,调试器没有正确地进入我的函数。而是将我带到一些未知的土地并给出警告消息“调试位置是近似的,因为源不可用”。
在过去提出这个Rstudio 问题时,我可以看到类似的堆栈溢出问题。我也可以看到在 Github 上提出并关闭了这个问题,但我在最新版本中仍然面临这个问题。有人可以建议修复或解决方法吗?
编辑:
以下是问题的分步说明:
我有一个项目,其中包含分布在许多文件和文件夹中的各种类和函数。
我想遵循顶部脚本中的函数调用。为此,我在顶部函数中设置了一个断点。然后我找到了脚本。
调试器成功停止在断点处。但是,当我按下“Step into the current function call”按钮时,调试器会将我带到 R 语言中的一些未知代码以及我提到的错误消息。查看代码,调试器似乎将我带到了底层 R 函数。
系统
platform x86_64-apple-darwin17.0
arch x86_64
os darwin17.0
system x86_64, darwin17.0
status
major 4
minor 0.5
year 2021
month 03
day 31
svn rev 80133
language R
version.string R version 4.0.5 (2021-03-31)
nickname Shake and Throw
显然它会进入一些看起来很随机的代码并停在那里,例如有时它会停在这里:
function (expr, msg)
{
on <- tracingState(FALSE)
if (on) {
on.exit(tracingState(TRUE))
if (!missing(msg)) {
call <- deparse(sys.call(sys.parent(1L)))
if (length(call) > 1L)
call <- paste(call[[1L]], "....")
cat("Tracing", call, msg, "\n")
}
exprObj <- substitute(expr)
eval.parent(exprObj)
}
NULL
}