查看内存程序问题

wzw88486969 2012-06-21 06:18:32
是用 gdb 还是 objdump 工具能看程序的内存布局呢 如我的程序是这样的


.globl _start
_start:
lidt idt_48 ! load idt with 0,0
lgdt gdt_48 ! load gdt with whatever appropriate

gdt:
.word 0,0,0,0 ! dummy

.word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb)
.word 0x0000 ! base address=0
.word 0x9A00 ! code read/exec
.word 0x00C0 ! granularity=4096, 386

.word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb)
.word 0x0000 ! base address=0
.word 0x9200 ! data read/write
.word 0x00C0 ! granularity=4096, 386

idt_48:
.word 0 ! idt limit=0
.word 0,0 ! idt base=0L

gdt_48:
.word 0x800 ! gdt limit=2048, 256 GDT entries
.word 512+gdt,0x9 ! gdt base = 0X9xxx


我用 as 和 ld 生成了一个 test.o test文件

我想看看 代码段 和数据段在内存中的布局 这两个工具怎么用呢 谢谢

比如:
内存地址 16进制 汇编
0x0000000 0x00000 gdt:
..................................
..................................
0x1000000 0x00000 lidt idt_48

把整个程序显示出来

其实就想看看 代码段 和数据段在内存中的布局 谢谢了
...全文
107 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xunxun 2012-06-22
  • 打赏
  • 举报
回复
size -A -x
objdump -x
readelf -e

看看哪个符合你要求
ga6840 2012-06-22
  • 打赏
  • 举报
回复
cat /proc/<pid of program>/maps

4,466

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧