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

如何在GDB中传递含空格的参数?MacOS环境下问题咨询

在MacOS的GDB中传递带空格的命令行参数

我之前也踩过MacOS上GDB处理带空格参数的坑,直接用双引号或者转义空格确实经常不生效,这里给你几个亲测可行的解决方案:

方法1:用set args预先设置参数(最可靠)

这是我平时用得最多的方式,先单独把参数配置好,再启动程序:

(gdb) set args "print 100"
(gdb) run

如果你的程序不需要引号,只是要把print 100作为单个参数,也可以写成set args print\ 100,效果是一样的。

方法2:在run命令里用单引号包裹

MacOS的GDB对单引号的解析比双引号更靠谱,试试这个写法:

(gdb) run 'print 100'

这样GDB就会把整个print 100当作一个完整参数传给你的程序,不会拆分成两个。

方法3:双重转义引号

如果上面两种都不凑效,还可以试试GDB内部的转义方式,给引号也加上反斜杠:

(gdb) run \"print 100\"

不过这种方式可能会把引号本身也传递给程序,所以如果你的程序不需要引号的话,还是优先用前两种方法。

另外提一句,MacOS上的GDB因为系统签名和沙箱限制,行为有时候和Linux下的GDB不太一样,set args是最通用且不容易出问题的方案,推荐优先用这个。

内容的提问来源于stack exchange,提问作者M.G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:39:16