是否有可能像我在十六进制中看到asm和原始指令那样检查内存作为指令(x/i
) (比如disassemble /r
)?
有时,我想拆解GDB拒绝拆解的内存的某些部分,说:“没有函数包含指定的地址”。
唯一的选择是x/i
,但是我想确切地看到什么十六进制值被转换成什么指令。
发布于 2016-12-18 17:33:35
我想拆解GDB拒绝拆解的部分内存,并说:“没有函数包含指定的地址”。
即使GDB无法确定函数边界,disas/r 0x1234,0x1235
也会工作。示例:
(gdb) disas/r 0x0000000000400803
No function contains specified address.
(gdb) disas/r 0x0000000000400803,0x000000000040080f
Dump of assembler code from 0x400803 to 0x40080f:
0x0000000000400803: e8 b8 fd ff ff callq 0x4005c0 <system@plt>
0x0000000000400808: 48 81 45 f0 00 10 00 00 addq $0x1000,-0x10(%rbp)
End of assembler dump.
https://stackoverflow.com/questions/41208094
复制相似问题