【文件属性】:
文件名称:源代码的内存-故障注入测试
文件大小:237KB
文件格式:PDF
更新时间:2024-07-07 18:23:22
gdb
7.4、源代码的内存
你可以使用 info line命令来查看源代码在内存中的地址。info line后面可以
跟“行号”,“函数名”,“文件名:行号”,“文件名:函数名”,这个命令会打印出所
指定的源码在运行时的内存地址,如:
(gdb) info line tst.c:func
Line 5 of "tst.c" starts at address 0x8048456 and ends at
0x804845d .
还有一个命令(disassemble)你可以查看源程序的当前执行时的机器码,这
个命令会把目前内存中的指令 dump出来。如下面的示例表示查看函数 func的汇
编代码。
(gdb) disassemble func
Dump of assembler code for function func:
0x8048450 : push %ebp
0x8048451 : mov %esp,%ebp
0x8048453 : sub $0x18,%esp
0x8048456 : movl $0x0,0xfffffffc(%ebp)
0x804845d : movl $0x1,0xfffffff8(%ebp)
0x8048464 : mov 0xfffffff8(%ebp),%eax
0x8048467 : cmp 0x8(%ebp),%eax
0x804846a : jle 0x8048470
0x804846c : jmp 0x8048480
0x804846e : mov %esi,%esi
0x8048470 : mov 0xfffffff8(%ebp),%eax
0x8048473 : add %eax,0xfffffffc(%ebp)
0x8048476 : incl 0xfffffff8(%ebp)