我正在R中运行一个脚本(使用R Studio),它调用了几个嵌套的函数(脚本调用一个函数,其中有一些代码,然后调用另一个函数等)。我需要调试一个在几个层级下的函数。我可以通过在包含函数调用的那一行上设置断点,然后逐步调试进入第一个被脚本调用的函数。然而,当我尝试重复此步骤以进入下一个函数(即在下一个函数调用的那一行上设置断点),R只会运行代码直到完成。即使使用“continue”命令,该命令声称“继续执行直到遇到下一个断点”,也无济于事。
我可以通过逐行步进,然后一旦到达函数就逐步调试进入每个函数来到达其他函数,但这样做需要花费很长时间才能到达我需要到达的地方。
如有任何想法,请告诉我。
我可以通过逐行步进,然后一旦到达函数就逐步调试进入每个函数来到达其他函数,但这样做需要花费很长时间才能到达我需要到达的地方。
如有任何想法,请告诉我。
debug(myfunc)
(而不仅仅是你想要调试的那个函数),并确保myfunc
已在当前函数中被引用。 - chtongueekdebug
应该在函数内部调用的函数中工作,而不会在调用函数上运行。但是似乎有一些关于包中函数的限制,我之前并不知道。 - Stibudebug()
。例如:debug(layer); ggplot(mtcars) + geom_line(aes(x = disp, y = cyl))
。如果你感兴趣的函数没有从包中导出,你必须使用:::
符号,例如debug(ggplot2:::rename_aes)
与上面的ggplot()
调用一起使用。 - Stibu