使用隐藏函数上的跟踪来编辑R中的源代码

时间:2017-07-26 08:26:00

标签: r debugging trace

对于我正在使用的软件包,我想修复部分代码。我已经下载了“包源”from CRAN,并缩小了问题所在。我想在RStudio中编辑问题函数。我尝试过使用trace,但我无法调用所需的功能。我想调用的函数是main函数的辅助函数(不在文档中)(在文档中)。有没有办法编辑不在文档中并在实现中使用的函数?

如果有帮助,我使用的包名为RecordLinkage。我想更改由.toFF调用的函数RLBigDataDedup并位于文件RLBigData-classes.r中。 enter image description here 现在我已经通过查看源代码来确定问题了,我现在想在RStudio中编辑它以便我可以在使用包时运行它...我能做的最好的就是查看RLBigDataDedup in RStudio,但我找不到其中使用的.toFFenter image description here

2 个答案:

答案 0 :(得分:0)

这不起作用,因为隐藏的函数.toFF在全局环境中是未知的,因为它是隐藏的。如果要编辑/调试隐藏函数,则必须在where中使用相应的函数指定trace()参数。在你的情况下,它将是RLBigDataLinkage

关于trace的{​​{3}},请注明:

  

对于“隐藏”函数,例如命名空间中的S3方法,其中= *   通常也需要指定

因此,对于你的答案,这将有效:

trace(".toFF", edit=T, where = RLBigDataLinkage)

答案 1 :(得分:-1)

尝试debug(.toFF)debug(function_to_calls_.toFF)这将在调用函数时打开调试工具。