开源推荐
morning
GitHub 热门项目:raddebugger
2026-07-26
1 阅读
约5分钟阅读
GitHub Trending
字号:
GitHub 项目:raddebugger
仓库地址:https://github.com/EpicGames/raddebugger
星级:7280 | 作者:EpicGames
项目描述:一个本机、用户模式、多进程、图形调试器。
===================================================
自述文件内容:
# RAD 调试器项目
_**注意:** 本自述文件不记录使用说明和提示
调试器本身,旨在作为项目的技术概述。的
可以找到调试器的自述文件,其中包括使用说明和提示
与调试器版本一起打包,或者在编译后的“build”文件夹中
本地副本已构建。您可以找到预构建的发布二进制文件
[此处](https://github.com/EpicGames/raddebugger/releases)._
RAD 调试器是一个本机、用户模式、多进程、图形调试器。它
目前仅支持使用 PDB 进行本地计算机 Windows x64 调试,
计划在未来进行扩展和移植。未来我们还将扩展到
支持原生 Linux 调试和 DWARF 调试信息。
调试器当前处于 *ALPHA* 状态。为了获得调试器
防弹,如果您提交发现的问题,将会有很大帮助
[此处](https://github.com/EpicGames/raddebugger/issues),以及任何
您可以收集的信息,例如转储文件(以及您使用的构建),
重现、测试可执行文件等的说明。
除了调试器之外,我们的目标是通过两个进一步改进工具链
其他相关技术:**(1)** RAD 调试信息 (RDI) 格式,以及
**(2)** RAD 链接器。
## RAD 调试信息 (RDI) 格式
RAD 调试信息 (RDI) 格式是我们自定义的调试信息格式,它
调试器解析和使用,而不是本机调试信息
由 PDB 或 DWARF 等工具链生成。与这些现有的合作
工具链,我们转换 PDB(最终转换为嵌入 DWARF 的 PE/ELF 文件)
按需转换为 RDI 格式。
RDI 格式当前在代码中指定,在
`src/lib_rdi` 文件夹。在 [`rdi.h`](src/lib_rdi/rdi.h) 和
[`rdi.c`](src/lib_rdi/rdi.c),定义格式的类型和函数
本身是指定的。在 [`rdi_parse.h`](src/lib_rdi/rdi_parse.h) 和
[`rdi_parse.c`](src/lib_rdi/rdi_parse.c),用于解析格式的帮助程序是
包括在内。
我们还有一个正在开发的库,用于构建和序列化 RDI 数据,
位于 `src/lib_rdi_make` 文件夹中。
我们的“radbin”实用程序(也可以通过调试器访问,通过“--bin”
命令行参数)能够转换本机调试信息格式
到 RDI,以及生成 RDI 文件中存储的内容的文本转储。
## RAD 链接器
RAD 链接器是一种新的性能链接器,用于生成 x64 PE/COFF 二进制文件。
它被设计为在创建巨大的可执行文件时非常快。它生成
用于调试的标准 PDB 文件,但它也可以(可选)本地创建
RAD 调试信息,这对于消除按需转换时间很有用
调试时,也适用于巨大的可执行文件,否则会造成损坏
溢出内部 32 位表的 PDB。
RAD Linker 主要针对处理大型链接项目进行了优化。在我们的
测试用例(其中调试信息是数千兆
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱