【问题标题】:Knowing which line i'm at in the browser/debugger in R知道我在 R 的浏览器/调试器中的哪一行
【发布时间】:2016-09-17 22:08:59
【问题描述】:

这个问题的答案可能很简单,但我一直没能找到。当我在 R 中处于浏览器模式调试时,当我按下“n”时,我可以看到当前调试行打印在屏幕上。但是我可能会在控制台中执行一些其他命令,但忘记了我在源代码中的哪一行。有没有我可以按下的命令来重新打印调试器所在的行(甚至是行#?)。我可以按“n”,它会打印下一行,但这并不总是好的,因为它可能会跳到下一行的长时间计算中。

我知道“where”命令,但我不知道如何在我正在调试的函数中打印(在浏览器模式下使用命令)。

在有人尝试提出建议之前,我经常在 Neovim-R 中进行调试,而不是使用 RStudio,这可能会显示调试器所在的行(为什么是因为我正在调试具有大量数据集的代码,而 Rstudio 在为此调试一些行)。

【问题讨论】:

  • 你是什么意思 rstudio 对于大型数据集来说很慢
  • 除非 bug 与内存有关,否则您可以先处理较小的样本数据集吗?您的所有操作也会更快。

标签: r debugging vim-plugin


【解决方案1】:

不要输入browser(),而是输入thisLine <- {whatever line you're at} ; browser() ; thisLine <- NULL 那么你将有一个简单的方法来告诉。我建议使用 autohotkey 来制作快捷方式,这样您可以按几个键并出现thisLine <- ; browser() ; thisLine <- NULL,然后您只需在空白处填写行号即可。

【讨论】:

  • thisLine
  • 我以为你在问你什么时候在原行,然后手动执行命令
  • 是的。我只是不明白你的描述是怎么做的?
  • 在代码的第 100 行输入 browser() 以停止执行。相反,输入thisLine <- 100 ; browser() ; thisLine <- NULL 如果你在任何地方都这样做,你把browser(),你总是能够通过检查thisLine 的值来检查你在哪里。当然,如果您希望它持续存在,请不要在之后将其设置为 NULL。抱歉耽搁了,我正在做晚饭
猜你喜欢
  • 2023-03-30
  • 2020-09-03
  • 1970-01-01
  • 2023-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多