在 Rstudio 中本地调试第 3 方 R 包/库的正确方法

问题描述 投票:0回答:0

在初步分析后,我相信我每天使用的第 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
),我如何“正确”开始调试它?

r debugging tidyverse rstudio xts
© www.soinside.com 2019 - 2024. All rights reserved.