【问题标题】:How to set a breakpoint in function body in R-studio?如何在 R-studio 的函数体中设置断点?
【发布时间】:2015-04-08 10:32:51
【问题描述】:

我有一个 R 脚本,它调用我编写的函数。但是,当我执行脚本时,程序不会在函数体中的调试点停止。 调试点唯一起作用的时间是在主脚本文件中设置它们时。我正在使用 R-studio IDE,但是任何通用解决方案也将不胜感激。

【问题讨论】:

  • @rmuc8 我在发帖之前已经看过那篇文章。它没有提到函数体不是合法的断点。我错过了什么吗?
  • @rmuc8 在那里,作者谈论的是内联定义的函数,因此 Rstudio 断点在那里不起作用。我的问题是传统的函数定义。在函数体中停止的能力在 Matlab 等其他平台中是相当标准的。不确定,为什么没有这方面的信息。
  • 当我在函数中设置断点时,我可以逐行调试。由于我对Matlab不熟悉,所以无法进行比较。你使用最新版本的 Rstudio 吗?我
  • @rmuc8 如果函数是从另一个 R 脚本调用的,R-Studio 是否会在函数的断点处停止?

标签: r rstudio


【解决方案1】:

如果您处理多个文件,则必须使用源 R 文件

debugSource("C:/Users/...")

而不是

source("C:/Users/...")

从你的主脚本

【讨论】:

  • 谢谢。这正是我想要的。
  • 可能值得注意的是,debugSource 仅在 Rstudio 中受支持,而不在基本 R 中。因此,如果考虑稍后使用 RScript 调度脚本,则应切换回 source,..
【解决方案2】:

我想在@rmuc8 的答案中补充一点。

  1. 按照官方指南所述在函数中设置断点:https://support.rstudio.com/...。它将出现一个空的或实心的红色圆圈。
  2. 在调用该函数的主脚本中,写在函数调用的上方。

debugSource("C:/Users/...")

  1. 不要按 CTRL+ALT+R 运行。运行选择和 CTRL+R。否则它不会在断点处停止。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多