resym
v0.4.0 - Recompilable C output, Web Application, Modules, Cross-References


resym是一个允许从PDB文件浏览和提取类型的实用程序。
单击以运行网络版本?
受PDBripper和PDBEX的启发。

如果您安装了生锈,则可以轻松地安装Resym与cargo :
cargo install --git https://github.com/ergrelet/resym --tag v0.4.0
之后,您可以通过命令行调用从任何地方调用resym和resymc 。
请记住,您需要安装所需的依赖项才能使resym正确运行。查看用户文档以获取更多详细信息。
如果要使用GUI版本,只需运行resym可执行文件即可。
也可以使用CLI版本(名为resymc ):
resymc 0.4.0
resymc is a utility that allows browsing and extracting types from PDB files.
USAGE:
resymc.exe <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
diff Compute diff for a type between two given PDB files
diff-module Compute diff for a module between two given PDB files
dump Dump type from a given PDB file
dump-all Dump all types from a given PDB file
dump-module Dump module from a given PDB file
help Prints this message or the help of the given subcommand(s)
list List types from a given PDB file
list-modules List modules from a given PDB file
在Ubuntu上,您可能需要安装: libxcb-shape0-dev , libxcb-xfixes0-dev和libglib2.0-dev 。
git clone https://github.com/ergrelet/resym.git && cd resym
cargo build --release
./target/release/resym
GUI版本可能难以显示巨大的输出(> 20 MB)。禁用语法突出显示(和/或依赖性重建)将有所帮助,但是总体而言,CLI版本在倾倒大量依赖项时更适合。
C ++名称空间和模板类型目前尚未重建,这意味着C ++类型的重建输出不一定是可编译的。
由于如何访问文件以及wasm32目标的32位限制,Web版本无法处理大于〜2.1 GB的PDB文件。 wasm64 / memory64支持可能会在将来发生变化。
我经常需要以交互式的方式舒适地从1GB+ PDB文件中提取和分析C ++类型,但是我找不到到目前为止为我勾选所有盒子的工具,因此这是我制作该工具的照片。
因此,如果您在同一条船上,此工具可能对您有用。