Как сохранить вывод команды GDB в переменную? - PullRequest
0 голосов
/ 25 января 2020

Я пытаюсь сохранить вывод команды gdb в переменную gdb. Я следую инструкции от здесь . Но когда я печатаю переменную, она отображается пустой.

Мой pop_stack файл содержит этот

20
268435372

Я использую следующую команду для сохранения значения 268435372 из pop_stack в переменную gdb $ pop_ele . И попробуйте вывести значение как шестнадцатеричное. Но $ pop_ele показывает пустой.

(gdb) shell echo set \$pop_ele=\"$(tail -n 1 pop_stack)\"
(gdb) p/x $pop_ele

вывод:

set $pop_ele="268435372"
$8 = 0x0

Мой вывод для команды p / x $ pop_ele равен 0xfffffa c

Пожалуйста, помогите.

1 Ответ

1 голос
/ 25 января 2020

С помощью gdb 8.X можно использовать shell и source для выполнения команд, зависящих от внешних данных.

shell echo set \$pop_ele=$(tail -n1 pop_stack) > gdb.tmp
source gdb.tmp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...