1.什么是堆棧?
每個應用程序都有自己的一個4GB的內存。
- 一塊內存,操作系統在進程啟動的時候已經分配好的,供程序執行時使用
- 和數據結構的堆棧無關
- 查看堆棧
2.如何查看應用程序的堆棧
(1)
(2)在內存窗口搜索FS對應的內存地址並查看
可以看到當前應用程序被分配的內存即為堆棧
開始地址為:005F 0000
結束地址為:005E C000
(3)查看堆棧窗口末尾:005E FFFC 加4個字節即為 005F 0000
這里為什么要加4個字節:
因為005E FFFC的地址是放的是開始的地址,所以向后4個字節也包含在分配的內存中
(4)查看堆棧窗口頂部:005E C000
需要注意的是,堆棧的使用是從大地址向小地址使用。
(3)ESP棧指針寄存器
ESP用來記錄當前的堆棧用到哪里了
右擊ESP點擊Flkow in stack (在堆棧中跟隨)即可查看
這個位置表明:從最底下(005F 0000)到(005E FE84)這個位置中間的數據已經被之前執行過的程序占用了。
且可以看到:從005E FE84向上還沒有存儲數據。這部分數據是空的會被后面將會執行的程序使用。