执行./foo 0 1 2 > out.txt
参数时,0,1和2传递给foo
,stdout传输到out.txt。
在gdb中运行时:run 0 1 2 > out.txt
所有内容都会作为参数传递给foo
,包括“>”和“out.txt”。
AFAIK,gdb使用的shell是/ bin / bash,gdb版本7.10(来自brew)。运行MacOS Sierra(10.12.2)。在El Capitan上正确运行(10.11.6)以及我们尝试的任何Linux。
编辑:如果我添加set startup-with-shell off
,就会在El Capitan上发生这种情况。设置为on
在El Capitan上运行正常,但在Sierra上会导致During startup program terminated with signal ?, Unknown signal.
。