1

问题是在 RStudio 中,当我设置断点来调试代码时,调试器没有正确地进入我的函数。而是将我带到一些未知的土地并给出警告消息“调试位置是近似的,因为源不可用”。

在过去提出这个Rstudio 问题时,我可以看到类似的堆栈溢出问题。我也可以看到在 Github 上提出并关闭了这个问题,但我在最新版本中仍然面临这个问题。有人可以建议修复或解决方法吗?

编辑:

以下是问题的分步说明:

  1. 我有一个项目,其中包含分布在许多文件和文件夹中的各种类和函数。

  2. 我想遵循顶部脚本中的函数调用。为此,我在顶部函数中设置了一个断点。然后我找到了脚本。

  3. 调试器成功停止在断点处。但是,当我按下“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
}
4

0 回答 0