
本Docker镜像专为调试R语言程序的内存问题设计,集成了编译好的R环境(含调试支持)及一系列内存调试工具。主要用途包括诊断R脚本或R包中的内存泄漏、内存溢出、内存访问错误等问题,帮助开发者定位并解决R程序运行时的内存相关故障。
latest对应最新稳定版)gdb(GNU调试器)、lldb(LLVM调试器)valgrind(含memcheck内存泄漏检测器)、massif(内存使用分析器)Rprofmem(R内存使用分析)、profvis(R内存可视化工具)devtools、roxygen2),支持R包源码调试libcurl-dev、libssl-dev),避免调试过程中依赖缺失从Docker Hub或GitHub Container Registry拉取镜像(具体地址需参考https://github.com/wch/r-debug%EF%BC%89%EF%BC%9A
bashdocker pull wch/r-debug:latest # 拉取最新版本 # 或指定R版本标签(如支持) docker pull wch/r-debug:r4.3.0
4.2.1 基本启动命令
bashdocker run -it --rm \ -v $(pwd):/workspace \ # 挂载本地目录到容器内/workspace -w /workspace \ # 设置工作目录为/workspace --name r-debug-container \ wch/r-debug:latest
-it:交互式终端模式,支持命令行操作--rm:容器退出后自动删除,避免残留-v:挂载本地目录,方便调试本地R脚本或包源码4.2.2 进入容器后基本操作
启动R调试环境:
bashR # 直接启动R(含调试符号) # 或启动带内存追踪的R R -d valgrind --vanilla # 使用valgrind追踪内存操作
使用valgrind调试R脚本:
bashvalgrind --leak-check=full Rscript your_script.R # 检测脚本内存泄漏
使用gdb调试R进程:
bashgdb --args Rscript your_script.R # 对脚本启动gdb调试
容器支持通过环境变量自定义调试行为:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
R_DEBUG | 启用R调试模式(1=启用,0=禁用) | 1 |
WORKSPACE | 容器内工作目录 | /workspace |
VALGRIND_OPTS | valgrind默认参数(如--leak-check=full) | --leak-check=summary |
R_PROFILE | 加载自定义R配置文件路径(需挂载到容器) | 空(使用默认配置) |
假设本地./my_r_package目录为待调试的R包源码,启动容器并调试:
bashdocker run -it --rm \ -v $(pwd)/my_r_package:/workspace \ -w /workspace \ -e VALGRIND_OPTS="--leak-check=full --show-leak-kinds=all" \ wch/r-debug:latest \ valgrind R CMD check . # 使用valgrind检查R包内存问题
创建docker-compose.yml文件,定义调试环境:
yamlversion: '3' services: r-debug: image: wch/r-debug:latest volumes: - ./scripts:/workspace/scripts # 挂载本地脚本目录 - ./packages:/workspace/packages # 挂载R包源码目录 working_dir: /workspace environment: - R_DEBUG=1 - VALGRIND_OPTS=--leak-check=full tty: true # 保持终端连接 stdin_open: true # 开启标准输入
启动服务:
bashdocker-compose up -d # 后台启动 docker-compose exec r-debug bash # 进入容器终端
Rprofmem初步定位问题范围R CMD INSTALL --with-keep.source .)以保留调试符号您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务