开发者

Assembly GDB Print String

开发者 https://www.devze.com 2022-12-29 21:53 出处:网络
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 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"
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号