1 个不稳定版本
0.1.0 | 2023年12月9日 |
---|
#489 在 调试
22KB
164 行
llvm-symbolizer-rust-wrapper
此二进制程序将伪装成 llvm-symbolizer
,但它将使用 rustc_demangle
包而不是内置的llvm解引用符号器来解引用Rust函数名称。它需要一个已安装的真实 llvm-symbolizer
二进制文件。
安装
首先,确保您已安装真实版本的 llvm-symbolizer。打开终端,键入 llvm-symbolizer
,并按两次Tab键。自动完成应显示安装的 llvm-symbolizer 二进制文件的列表。如果您看到类似以下内容,那就太好了!
llvm-symbolizer-11 llvm-symbolizer-12 llvm-symbolizer-13
如果没有,请使用您的包管理器安装最新版本的 llvm。
确保 llvm-symbolizer
命令不存在,如果存在,则需要删除它或将它重命名为 llvm-symbolizer-14
或其他版本。
安装某个版本的 llvm-symbolizer-*
并正确安装并在 PATH 中后,使用 cargo install 来安装此包装器
cargo install llvm-symbolizer-rust-wrapper
这会将二进制文件安装到 $HOME/.cargo/bin
。尝试执行 llvm-symbolizer-rust-wrapper --help
。如果那样工作,那就太好了。如果不行,您可能需要将 $HOME/.cargo/bin/
添加到 PATH
环境变量中。
一旦您确保包装器可以正常工作,您需要将其设置为默认的 llvm-symbolizer
。这可以通过创建符号链接轻松完成
ln -s $HOME/.cargo/bin/llvm-symbolizer-rust-wrapper $HOME/.cargo/bin/llvm-symbolizer
验证其工作情况
llvm-symbolizer --help
这将打印 llvm-symbolizer-xx
的帮助信息,其中 xx
是最新安装的 llvm-symbolizer
版本。
您还可以通过设置环境变量来手动指定要使用的 llvm-symbolizer
版本。
export LSRW_REAL_EXE=/usr/bin/llvm-symbolizer-14
故障排除
由于这是一个包装器,我们无法将日志输出到 stderr,因此我们将其记录到文件中。默认情况下日志是禁用的,可以通过设置环境变量 LSRW_LOG_FILE=/tmp/lsrw_log.txt
来启用。
依赖项
~5–15MB
~203K SLoC