2016-09-17 41 views
1

这个问题可能有一个微不足道的答案,但我一直无法找到它。当我在R中进行浏览器模式调试时,按下“n”,我可以看到当前的调试行打印在屏幕上。但是,我可能会在控制台中执行一些其他命令,但忘记了源代码中的哪一行。是否有一个命令可以按下来重新打印调试器所在的行(或者甚至行#)。我可以按下“n”,它会打印下一行,但这并不总是好,因为它可能会跳到下一行的长计算。知道我在R中的浏览器/调试器中的哪条线

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

在任何人试图建议它之前,我经常在Neovim-R中进行调试,而不是使用RStudio,它可能会显示调试器所在的行(为什么是因为我正在调试带有大量数据集的代码,而Rstudio速度很慢在调试一些线路)。

+0

你是什么意思rstudio对于庞大的数据集很慢 – rawr

+0

除非该错误与内存相关,否则你能否先处理较小的样本数据集?你所有的操作也会更快。 – dracodoc

回答

-1

而不是打字browser(),键入thisLine <- {whatever line you're at} ; browser() ; thisLine <- NULL 然后您将有一个简单的方法来告诉。我建议使用autohotkey为此设置快捷方式,所以您可以按几个键,然后出现thisLine <- ; browser() ; thisLine <- NULL,然后您只需使用行号填写空位。

+0

你是什么意思由thisLine < - {无论你在哪里}?对不起,我还没有关注你的意思?这将如何帮助我查看当我已经在某个函数内部多次按下“n”几次(或者用“s”在另一个函数内部更深入)时,我正在调试哪一行? – QIM

+0

我以为你问的是什么时候你在原始线上,然后手动执行命令 – hedgedandlevered

+0

是的。我只是不遵循如何与你的描述做到这一点? – QIM