- 论坛徽章:
- 0
|
原帖由 塑料袋 于 2007-9-15 22:34 发表 [00000000
00000000
b5dd8000
00000000
00125000
00127000
................
这列表示的是什么?文件偏移么?
这列表示的就是相应的vm_area_struct中的offset成员,你最懂offset的含义了,^_^
下面各列在vm_area_struct中对应的成员
start-end perm offset major:minor inode image
而且:
ptr: 0x804a000
ptr: 0xb6dd9008
ptr: 0xb5dd8008
ptr: 0x804a000
这里边第一行和第四行一样,根本没有从堆里分配过空间.
是啊,这是我平台的malloc一次分配16M时的现象,迷惑啊
也许是/lib/ld-2.5.1.so在加载/lib/libc-2.5.1.so时, /lib/libc-2.5.1.so初始化的时候匿名影射了[b5dd8000, b7ddb000 ].不清楚.但反正是没有用过堆.
这里的[b5dd8000, b7ddb000 ]是我这个进程malloc分配的堆的区域,并且这个堆是从上往下长的,并且跟brk没关系,迷惑啊
为什么你最后一个区间是[bfc03000, bfc19000] ? 这个好象也不是栈,而是interpreter的bss段.
b7f2c000-b7f2d000 rw-p 0001a000 fe:00 81960 /lib/ld-2.5.1.so
这个才是interpreter的bss段吧,我的这个区间应该是栈,但确实有疑问,栈不是可执行的吗,却没带可执行位,难不成也是新版C库解决了栈溢出执行的问题,不知道其他平台是什么情况,哪个版本开始的,还是迷惑啊 |
|