第1关:1 号进程的核心栈内容分析
环境准备
cp /data/workspace/myshixun/exp1/1.tgz ~/os/
cd ~/os/linux-0.11-lab/
tar -zxvf ../1.tgz
rm -rf cur
ln -s 1 cur
cd 1/linux
make
cd ../..
启动gdb,gdb调试
b task1
c
x/6i $eip
si
p/x current->tss
si
p/x $esp
x/6wx $esp
1.1号进程的核心栈栈底的位置是多少?(0x1000000)
2.1号进程执行函数task1 中的第一个int 0x81 指令后,核心栈栈顶的位置是多少?(0xffffec)
3.从栈底到栈顶依次放了哪些内容?(0x00000017)(0x0002573c)(0x00000246)(0x0000000f)(0x00007989)
kill后,quit退出gdb,防止影响下一关
第2关:0 号进程的核心栈内容分析
第一关环境下,进入gdb调试,输入
b 145
c
n
p/x current->tss
x/3i $eip
si
si
p/x $esp
x/6wx $esp
1.0号进程的核心栈栈底的位置是多少?(0x1fa20)
2.0号进程执行fork 系统调用中的陷入指令后,核心栈栈顶的位置是多少?(0x1fa0c)
3.从栈底到栈顶依次放了哪些内容?(0x00000017)(0x00025740)(0x00000202)(0x0000000f)(0x0000690a)