Rstudio 不会在断点处停止

问题描述 投票:0回答:2

几周前,我在 Rstudio 中使用断点。它按我的预期工作:在断点处停止。

但是,现在我需要再次使用它,我无法让它工作;更具体地说:当我在 Rstudio 中设置断点时,代码行旁边会出现一个红点(参见屏幕截图),但运行代码时,它不会在断点处停止。

我为这篇文章创建了一个简单的代码示例来展示我想要的内容:逐行运行 for 循环。screenshot Rstudio

也许我只是不明白一些事情:)那么,有人可以帮助我让这些有用的调试工具在 Rstudio 中工作吗?

提前致谢。

r for-loop debugging rstudio breakpoints
2个回答
5
投票

在 RStudio 中开发的闪亮应用程序上,断点对我也不起作用,我使用

browser()
而不是断点,并且它有效。

看这个

M


0
投票

也遇到了这个确切的问题,并找到了一半的解决方案。假设第一个源文件如下所示:

rm(list = ls())
# rm(list = ls(environment(), all.names = TRUE))
# gc()
## clear RStudio output
# cat("\014")

debugSource('src/module1.r')
debugSource('src/libs/module2.r')
debugSource('src/libs/module3.r')
# and all the project modules

# src/module1/run_main
run_main()

解决方法是

debugSource()
run_main()
线上保留额外的断点。
此后,甚至嵌套调用中的断点也开始停止。 不幸的是,意味着每次执行都会越过那条线。仅第一个文件需要
debugSource()
,其他文件可以只包含
source()
。可能也有某种方法可以绕过第一个断点,但还没有找到它,也没有完全弄清楚发生了什么。

© www.soinside.com 2019 - 2024. All rights reserved.