gpt4 book ai didi

windows - 为什么堆栈低于内存中的文本?

转载 作者:可可西里 更新时间:2023-11-01 09:48:06 25 4
gpt4 key购买 nike

我正在使用 Windbg 来研究进程内存,不禁注意到一些人们刚刚接受的东西。打印寄存器时:

eax=00000000 ebx=008b6f00 ecx=01010101 edx=ffffffff esi=00000000 edi=00465000
eip=77f9d022 esp=05cffc48 ebp=05cffc54 iopl=0 nv up ei ng nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000286

请注意 ESP 和 EBP 的值低于 EIP,这意味着堆栈在某处低于进程的文本部分(!?)。为什么是这样?据我所知(我在 Linux 中也用 gdb 做过同样的事情),堆栈应该在高端内存中,而文本在低端内存中——就像许多书中所说的那样。

有什么我不知道的吗?

最佳答案

Thread堆栈可以位于用户模式内的任何地址范围 virtual address space . VMMap显示进程提交的虚拟内存类型的分割。 enter image description here

关于windows - 为什么堆栈低于内存中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15583163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com