作者WalkingIce (会走路的冰块)
看板LinuxDev
标题[问题] GDB 如何同时印出 Machine Code 跟 Assembly Code
时间Sun Mar 18 11:48:07 2007
请教各位板友有关 GDB 的使用方法
Source Code 如下
#include <stdlib.h>
int main(void) {
printf("Hello LinuxDev\n");
return 0;
}
gdb a.out, 接着下 disas 就会印出反组译的内容
0x08048360 <main+0>: push %ebp
0x08048361 <main+1>: mov %esp,%ebp
0x08048363 <main+3>: sub $0x8,%esp
0x08048366 <main+6>: and $0xfffffff0,%esp
........(略)
如果下 x /2 0x08048360
0x8048360 <main>: 0x83e58955 0xe48308ec
请问 GDB 有没有指令可以同时印出 machine code 跟 assembly code ?
如同这样的形式
0x08048360 <main+0>: 83 e5 push %ebp
0x08048361 <main+1>: 89 55 e4 mov %esp,%ebp
0x08048363 <main+3>: 83 08 sub $0x8,%esp
0x08048366 <main+6>: ec and $0xfffffff0,%esp
(machine code 的部份我是乱打的 :P)
谢谢大家
--
我想你会衰成这样都是我害的
---- Tizzy Mac
紧张的麦金塔?这是谁(._.?)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.230.31
1F:→ WalkingIce:objdump -d 可以有这样的效果 03/24 19:34
2F:推 final01:我也去查了GDB相关文件似乎没有那样的用法 03/25 21:40
3F:→ final01:我看其他人都是用一楼的方法 03/25 21:41
4F:→ final01:说不定有相关工具能用~我也想知道 03/25 21:43