问题是,在 RStudio 中,当我设置断点来调试代码时,调试器无法正确单步执行我的函数。相反,它带我到一些未知的地方,并给出警告消息“调试位置是近似的,因为源不可用”。
我过去可以看到类似的堆栈溢出问题Rstudio问题 https://stackoverflow.com/a/61740540/10443817。我还可以在 Github 上看到该问题被提出并关闭,但在最新版本中我仍然面临这个问题。有人可以建议修复或解决方法吗?
EDIT:
以下是问题的逐步描述:
-
我有一个项目,其中包含分布在许多文件和文件夹中的各种类和函数。
-
我想跟踪顶部脚本中的函数调用。为此,我在顶部函数中设置了一个断点。然后我就找到了剧本。
-
调试器成功停在断点处。但是,当我按“进入当前函数调用”按钮,调试器将我带到 R 语言中的一些未知代码以及我提到的错误消息。查看代码,调试器似乎正在将我带到底层 R 函数。
System
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
}
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)