Я пытаюсь выполнить две команды одновременно в GDB:
finish; next
Я пытался использовать ';' разделить команды, но GDB не позволил мне сделать оба сразу.
Можно ли выполнять несколько команд в gdb, аналогично командам bash, разделенным символом ';' Ограничитель?
execlp("gdb", "gdb", "-batch", "-n", "-ex", "bt full", ...
и я не могу отключить нумерацию страниц.show user <function name>
чтобы увидеть ее источник, напримерshow user fn
.Если вы запускаете GDB из командной строки, вы можете передать несколько команд с параметром -ex, например:
Это в сочетании с отображением и другими командами делает запуск GDB менее громоздким.
источник
GDB не имеет такого символа-разделителя команд. Я посмотрел кратко, на случай, если это будет легко добавить один, но, к сожалению, нет ....
источник
Вы можете сделать это, используя интеграцию с Python
gdb
.Было бы хорошо, если бы
s ; bt
наступил и затем напечатал обратную трассировку, но это не так.Вы можете сделать то же самое, вызвав интерпретатор Python.
python import gdb ; print(gdb.execute("s")) ; print(gdb.execute("bt"))
Можно обернуть это в специальную команду, называемую здесь «cmds», подкрепленную определением python.
Вот пример,
.gdbinit
расширенный функцией для запуска нескольких команд.пример вызова:
источник
я столкнулся с другим способом сделать несколько команд в GDB, используя документ Bash ЗДЕСЬ.
пример:
это имеет ограниченное значение / удобство использования IMO, потому что GDB завершает работу после выполнения списка команд.
источник