有没有办法完全禁用 gdb 输出?

Is there a way to completely disable gdb output?

我有一个 C++ 程序 a,它有一个 win 函数,但从未被调用。
我可以用 gdb 调用它,只需执行 jump *win.
问题是,我正在尝试使用一个班轮自动执行此过程:
gdb -q a -ex "break *main" -ex "run" -ex "jump *(_Z3winv)"
有没有办法看到 only 程序本身的输出,没有这个:

inxane@root:~/mysecretfolder$ gdb -q a -ex "break *main" -ex "run" -ex "jump *(_Z3winv)"

warning: /mysecretfolder/pwndbg/gdbinit.py: No such file or directory
Reading symbols from a...(no debugging symbols found)...done.
Breakpoint 1 at 0x8e9
Starting program: /mysecretfolder/a 

Breakpoint 1, 0x00005555555548e9 in main ()
Continuing at 0x5555555548ba.
You won!
[Inferior 1 (process 15866) exited with code 040]

(我只想要这个)

You won!

如果需要的话,这里是源代码:

#include <iostream>
using namespace std;
void win()
{
    cout << "You won!" << endl;
}
int main()
{
    cout << "You failed!" << endl;
    return 0;
}

尝试将选项 -batch-silent 添加到您的 gdb 命令

查看文档“gdb documentation