You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何像C语言中使用objdump -S那样将Rust源码与汇编交错显示?

Rust源码与汇编代码交错显示的实现方案

目前直接用objdump -S <file>处理Rust编译产物会输出错误内容,且截至2024年9月27日,cargo-objdump暂不支持-S选项或源码与汇编交错显示的功能,你可以尝试以下替代方法:

  • 通过rustc生成带源码注释的汇编文件
    执行编译命令时添加--emit asm和调试信息参数:

    rustc --emit asm -g src/main.rs
    

    生成的.s文件中会包含对应源码的注释,能清晰看到Rust代码与汇编指令的映射关系。

  • 使用在线汇编工具Godbolt
    直接将Rust代码粘贴到Godbolt平台,可选择不同版本的Rust编译器,工具会自动展示源码与汇编的对应关系,支持代码高亮和跳转定位,直观性很强。

  • 借助GDB调试查看
    先以调试模式编译项目:

    cargo build --debug
    

    启动GDB并加载编译后的二进制文件:

    gdb target/debug/your_binary_name
    

    在GDB中执行layout split命令,即可同时显示Rust源码和对应的汇编代码,单步调试时能实时跟踪两者的对应执行流程。

内容的提问来源于stack exchange,提问作者ZeZNiQ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 20:57:03