Сборка GDB Print String - PullRequest
       14

Сборка GDB Print String

8 голосов
/ 12 мая 2010

Итак, в сборке я объявляю следующую строку:

Sample db "This is a sample string",0

В GDB я набираю "p Sample" (без кавычек), и он выплевывает 0x73696854. Я хочу распечатать фактическую строку. Поэтому я попытался "printf"% s ", Sample" (опять же, без кавычек), и он выплевывает "Невозможно получить доступ к памяти по адресу 0x73696854."

Короткая версия: Как напечатать строку в GDB?

Ответы [ 2 ]

12 голосов
/ 12 мая 2010

Мой учитель только что отправил мне электронное письмо. Для тех, кто интересуется:

p(char[20]) Sample

Где 20 - количество символов для печати. ​​

Чтобы напечатать строку в стиле C NUL, вы также должны быть в состоянии сделать это:

print (char*) &Sample
printf "%s", &Sample
10 голосов
/ 01 февраля 2012

У меня была такая же проблема! Попробуйте это:

x/s &Sample # prints the whole string

"x" - обычно обозначает данные.

Для обозначения вы можете использовать этот код

x/c &Sample # prints: "T"

А если вы хотите увидеть несколько символов, вы можете указать количество желаемых символов

x/3c &Sample # prints: "T" "h" "i"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...