Значение не может быть преобразовано в целое число при отладке с помощью GDB - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь отладить код на ассемблере с помощью gdb в командной строке ubuntu x64.

A disassemble Команда показывает следующее

   0x0000000000401247 <+10>:    mov    %r12,-0x8(%rsp)
=> 0x000000000040124c <+15>:    sub    $0x18,%rsp
   0x0000000000401250 <+19>:    mov    %rdi,%rbx

и после stepi команда Я хочу исследовать память с адресом $ 0x18 , чтобы проверить результат команды. Я использую следующую команду x $ 0x18 и получаю ошибку Значение не может быть преобразовано в целое число.

И после попытки выполнить команду x 0x18 выдает Невозможно получить доступ к памяти по адресу 0x18 ошибка.

Как проверить результат команды в памяти с адресом 0x18?

1 Ответ

0 голосов
/ 12 октября 2019

Я хочу исследовать память с адресом $ 0x18

Там нет памяти по адресу 0x18. Инструкция по сборке, которую вы смотрите: sub $0x18,%rsp вычитает константу 0x18 из предыдущего значения регистра RSP (это то, что $ перед 0x18 означает).

...