在进行gdb调试时,我在0xffffd3d0
处获取了帧,并将eip = 0xf7e04e7e
保存在堆栈级别0中。
(gdb) info frame
Stack level 0, frame at 0xffffd3d0:
eip = 0x8048452 in main (test.c:13); saved eip = 0xf7e04e7e
source language c.
Arglist at 0xffffd3b8, args:
Locals at 0xffffd3b8, Previous frame's sp is 0xffffd3d0
Saved registers:
ebp at 0xffffd3b8, eip at 0xffffd3cc
(gdb)
这是我关于用户空间3GB地址空间的问题。为什么它在3GB地址空间之外显示帧指针?
通常,在3:1虚拟地址分布中,用户空间的地址空间是0到0xc000000
。
答案 0 :(得分:0)
3GB的限制不适用于64位进程