Ubuntu GDB не может получить доступ к памяти по адресу, когда пытаюсь просмотреть память в $esp

Привет,

Я запускаю Ubuntu на VMWARE, и когда я пытаюсь получить доступ к памяти в $esp, я получаю сообщение об ошибке, как показано на скриншоте ниже. Я пытался найти ответы, но большинство из них были слишком сложными.

Есть ли какая-либо конфигурация, которую мне нужно сделать, чтобы это работало?

Я попытался запустить GDB на моем компьютере с Windows, и у него нет этой проблемы.

Благодарю.

1 ответ

Решение

Ты хочешь $rspне $esp,

Используя $espвы получили 32-битное усеченное значение со знаком $rsp, что указывает на Неверлэнд.

Примечание: GDB обеспечивает $sp псевдорегистр, который автоматически отображается на правильный регистр указателя стека для данной платформы.

(gdb) p $rsp
$1 = (void *) 0x7fffffffe178
(gdb) p $sp
$2 = (void *) 0x7fffffffe178
(gdb) p $esp
$3 = -7816
(gdb) p/x $esp
$4 = 0xffffe178
Другие вопросы по тегам