代码之家  ›  专栏  ›  技术社区  ›  Ben McCann

如何编辑和调试R库源

  •  18
  • Ben McCann  · 技术社区  · 14 年前

    3 回复  |  直到 11 年前
        1
  •  24
  •   Jyotirmoy Bhattacharya    14 年前

    trace browser 函数,它们是R中用于调试的基本工具。假设您要编辑函数的源代码 foo ,然后说

    trace("foo",edit=TRUE)
    

    将在编辑器中打开foo的源代码供您更改。但是,这是用于交互式调试的;包中的源文件不会更改。因此,一旦发现bug,就需要更改包源文件,使更改成为永久性的。

        2
  •  11
  •   rcs    14 年前

    在R的开发版本中实现了这样的功能(2010年7月16日):

    一个新的设备已经被添加到r-devel中,供作者进行实验 包装。

    其思想是将修改后的代码从包源代码插入到 运行包而不重新安装。所以我们可以改变,测试,改变, 快速循环。

    其机制是评估一些源代码文件,返回 当前会话中的包。插入使用trace() 机制,因此可以还原原始代码。

    一步式版本是:

    insertSource("mySourceFile.R", package = "myPackage", functions = "foo")

    更多详情请参见本帖: Inserting and testing revised functions in a package

        3
  •  3
  •   Dirk is no longer here    14 年前

    你的问题 有没有一种简单的方法可以让我编辑源代码来调试这个问题? 有一个明显的答案:利用源头,卢克!

    blotter 有包裹吗 R-Forge blotter sources here . 这是看待开放源码的标准方法,可能有助于修复bug。