在初步分析后,我相信我每天使用的第 3 方 R 包有一个错误,我越来越需要确认和修复它。
我过去只是将函数复制到我自己的工作区并解决依赖关系,但这只适用于合理隔离的函数,它不依赖于很多不同的其他第三个包和内部函数。
我尝试从github上一些R包的贡献指南中获得一些想法,但没有用。他们中的大多数只涉及如何编写好的提交消息、如何提出问题以及在哪里选择一个问题来处理;其他人根本没有贡献指南(我在这方面可能有偏见,如果你知道一个涵盖如何构建和加快调试速度的指南,请分享它)。
我试过在
keep.source.pkgs
/yes
中将.Renviron
设置为.Rprofile
。经过多次颠簸的试错,我终于到了 print(targetFunction)
向我展示带注释的源代码的阶段(这意味着源文件包含在安装包本身中,理论上应该准备好获取断点)。
但是我仍然无法在源文件中放置断点(Rstudio 抱怨需要加载包的更新版本,但这只有在原始源代码具有
.Rproj
文件时才能实现,这样我就可以构建在 Rstudio 内);我也无法使用 setBreakpoint
函数,它说没有找到源引用(即使源文件已经可用,因为 keep.source.pkgs
设置为是)。
如果我想贡献一个 R 包,我从 github 克隆 repo,我能够构建它 (
R CMD build
) 并安装它 (R CMD INSTALL
),我如何“正确”开始调试它?