У меня есть программа на C ++ a
с функцией win
, которая никогда не вызывается.
Я могу вызвать ее с помощью gdb, просто выполнив jump *win
.
Проблема в том, что япытаюсь автоматизировать этот процесс, с одним вкладышем:
gdb -q a -ex "break *main" -ex "run" -ex "jump *(_Z3winv)"
Есть ли способ увидеть только вывод из самой программы, без этого:
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;
}