如何在调试R代码时跳过循环

15

我是使用traceback()option(error=recover)以及debug(function)进行R语言调试的新手,试图找到我在R包中遇到错误的原因。

我正在调试一个有大型循环的函数,并且想要从循环中“跳出”到下一个块。我该怎么做?我知道你可以设置断点,但我不知道循环在哪里,也不知道下一步是什么。由于我处于纯文本环境中,所以debug包的图形化帮助可能没有用。

总之,在调试时如何跳出循环,以及在已经进行调试时如何进入函数进行调试?

可能这个问题已经被回答过了,而我却没有注意到。我看过几个SO R调试问题,但没有一个回答到我所知道的这个部分。

1个回答

14

我相当确定R的帮助系统即使你不使用GUI也可以工作。尝试输入?debug,看看会发生什么。你应该被告知输入ccont将继续执行当前环境:例如,在循环中将继续执行到循环结束或在函数中将继续执行到函数结束。


1
browser()也可以帮助您在循环中的任何时刻查看变量的值,请参见?browser - Gregor Thomas
3
我刚意识到,当我按下键盘上的 c 键以跳转到脚本的结尾时,它只会跳转到当前循环的结尾而不是整个脚本的结尾。我之前从一份课程手册上学到了 "c 或 cont(在不单步执行的情况下继续执行。)" 这样的内容,这导致我产生了误解。谢谢。 - Pablo Marin-Garcia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接