Assembly GDB Print String
So in assembly I declare the following String:
Sample db "This is a sample string",0
In GDB I type "p Sample" (without quotes) and it spits out 0x73696854. I want the actual String to print out. So I tried "printf "%开发者_JS百科s", Sample" (again, without quotes) and it spits out "Cannot access memory at address 0x73696854."
Short version: How do I print a string in GDB?
My teacher just emailed me back. For anyone wondering:
p(char[20]) Sample
Where 20 is the number of characters to print out.
To print a C-style NUL
-terminated string, you should also be able to do this:
print (char*) &Sample
printf "%s", &Sample
I had the same issue! Try this one:
x/s &Sample # prints the whole string
"x" - Stands generally for examining data.
For a signle character you could youse this code
x/c &Sample # prints: "T"
And if you want see multiple characters you could give the number of wished characters
x/3c &Sample # prints: "T" "h" "i"
精彩评论