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

Linux环境下Bazel编译二进制文件GDB调试路径异常问题求助

问题原因

Bazel编译生成调试符号时,会把源码文件的**相对路径(以项目根目录为基准)**写入二进制文件。当你在bazel-bin/examples/hello_world目录启动GDB时,GDB会以当前目录为起点去匹配这些相对路径,自然找不到对应的源码文件;而在项目根目录启动GDB时,当前目录刚好和调试符号里的路径基准一致,所以能正常加载源码符号并查看代码。

解决方法

直接在二进制所在目录调试的话,有两种实用方案:

  • 启动GDB时指定源码搜索根目录:
    gdb -d /你的项目根目录绝对路径 hello_world
    
    替换成你实际的项目根路径即可,GDB会自动去这个目录下匹配调试符号里的相对路径。
  • 进入GDB后手动添加源码路径:
    先正常启动GDB:
    gdb hello_world
    
    然后在GDB命令行输入:
    dir /你的项目根目录绝对路径
    
    添加完成后,再设置断点就能正常定位到源码了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 00:22:07