r - 在调试 R 代码时,为什么我在环境窗格中看不到局部变量?
问题描述
我创建了一个由我的 R 代码调用的函数 foo。我的主程序和 foo 在不同的文件中。
我在 foo 中输入了 browser() 语句。当我运行程序时,代码在 browser() 调用处停止(实际上在它上面几行)。
我一直按 n 并且光标向下移动。创建了一些变量,而其他变量,如 foo 的参数,已经存在。我可以通过在控制台中输入 ls() 来查看它们。
在环境窗格中有一个菜单,我可以在其中选择环境。当我在其中调试时,我的函数 foo 的名称是可见的。它是菜单中的顶部项目。如果我单击菜单,我还可以看到全局环境和一些包的名称。
但是,当我在菜单中选择它们的环境时,我看不到任何这些环境中的变量名称。环境窗口保持空白。
如果没有调试,当我从菜单中选择相应的项目时,我可以在环境窗格中看到全局环境变量和包变量。
这是 RStudio 环境窗格的工作方式吗?也就是说,调试时它保持空白?
我用最少的代码准备了一个例子。这是文件中带有被调用函数的代码:
foo <- function(x, y) {
z <- 1
w <- 2
browser()
x + y + z + w
}
这是主文件中的代码:
source("C://Dropbox/Code/R/StackOverflow1.R")
x <- 100
y <- 10
foo(x, y)
解决方案
我从 RStudio 支持那里得到了这个,它起作用了:
“转到工具 -> 全局选项 -> 高级 -> 调试,并取消选中“仅当我的代码包含错误时才使用调试错误处理程序”,然后重新启动。”
推荐阅读
- flutter - 颤振开关通过点击而不是滑动改变值(无法获得焦点)
- yii2 - Yii2 网格视图行顺序/排名类似于 SerialColumns
- asp.net - 无法连接到 SQL Server Browser。确保 SQL Server Browser 已启动
- javascript - 将 MongoDB 查询结果作为变量返回而不是控制台
- android - 用于多个子回收器视图的 android jetpack 分页
- javascript - 由于react组件的key值出现错误但是不知道怎么改
- python - 绘制条形图
- web - 通过 google 访问的网站目录
- c# - Autodesk forge 和 CRM 365 之间如何集成?
- http - Flutter - 如何处理 POST 请求中的状态码 302?