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

Ubuntu20.04下GDB9.2 MI模式调用-symbol-info-functions返回空如何解决

这是GDB 9.2版本的已知原生缺陷,不属于操作错误。

缺陷原因

Ubuntu 20.04官方源提供的GDB 9.2版本中,--include-nondebug参数仅对CLI模式的命令做了适配,MI接口的参数解析逻辑未兼容该参数:

  • CLI模式下执行info functions或通过interpreter-exec调用MI命令时,走的是独立的符号查询分支,能正常识别读取非调试符号的函数列表
  • 直接以-i=mi参数启动后,-symbol-info-functions命令的参数解析逻辑会忽略--include-nondebug配置,默认仅查询带调试信息的符号,因此剥离了调试符号的二进制返回结果为空

该适配补丁在GDB 10及以上版本才正式合入主线,GDB 9.2无官方回补补丁。

兼容解决方案

你可以根据开发需求选择以下方案:

  • 升级GDB版本:添加第三方PPA源安装GDB 10及以上版本,升级后MI模式下-symbol-info-functions --include-nondebug即可正常返回结果
  • 兼容GDB 9.2版本:在MI模式下调用maintenance print symbols命令获取全量符号表输出,自行解析提取函数地址和名称,也可以直接读取目标二进制的.symtab/.dynsym段解析符号后和GDB的运行时地址做映射。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:06:03