我有一個關於調試c代碼的問題。我做了研究,但它不滿足我。 我知道下面的命令:使用gdb調試c程序以顯示十六進制地址
(gdb) x/x 'address' #show hexadecimal address
(gdb) x/100s 'address' #show next 100 decimals
(gdb) x/10b 0x0804846c-10 #show byte at 0x0804846c-10
(gdb) x/10b 0x0804846c+20 #show byte at 0x0804846c+20
(gdb) x/10x 0x0804846c show 10 addresses at 0x0804846c
(gdb) x/10x $esp #show next 10 addresses at esp register
,但我想知道是什麼x/10x $esp - 50
做什麼呢? 我知道了嗎?這是對的嗎?
「這顯示出50個地址之前$ ESP多達10個地址後,」 我想,如果你告訴我,徹底糾正我要感謝... :(
這意味着:想象一下我們在「ESP-50」節目之後有10個十六進制字? – MLSC
我預計'$ esp -50'是'x/10x 0x ... - 50',是一個「包含」到堆棧寄存器 – ShinTakezou
@ShinTakezou的地址不是「x/10x 0x ...」 。 - 0x50「? – MLSC