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

如何通过GDB命令行同时指定符号文件、可执行文件及程序参数?

解决GDB命令行同时指定符号文件、可执行文件及运行参数的问题

问题背景

想要通过命令行启动GDB时,同时完成三个配置:指定独立的符号文件、指定可执行文件、传递可执行文件的运行参数,但遇到了参数冲突的问题:

  • 尝试命令 gdb --symbols=/path/to/symbol_file --args /other_path/to/exe arg1 arg2 时,由于--args必须放在命令末尾,导致可执行文件被GDB默认当作符号文件,覆盖了之前通过--symbols指定的路径;
  • 改用 gdb --symbols=/path/to/symbol_file --exec=/other_path/to/exe 可以避免符号文件被覆盖,但无法直接传递运行参数;
  • 希望完全通过命令行参数实现所有配置,不依赖GDB启动后的交互式命令。

解决方案

使用GDB的-ex参数,在启动时直接执行set args命令来设置运行参数,结合--symbols和--exec参数即可满足需求,命令格式如下:

gdb --symbols=/path/to/symbol_file --exec=/other_path/to/exe -ex "set args arg1 arg2"

参数说明

  • --symbols=/path/to/symbol_file:明确指定符号文件,不会被后续参数覆盖;
  • --exec=/other_path/to/exe:指定要调试的可执行文件;
  • -ex "set args arg1 arg2":在GDB启动后立即执行set args命令,为可执行文件设置运行参数,全程通过命令行完成配置。

如果需要启动GDB后直接运行程序,可以追加额外的-ex参数:

gdb --symbols=/path/to/symbol_file --exec=/other_path/to/exe -ex "set args arg1 arg2" -ex "run"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:02:40