第1关:1 号进程的核心栈内容分析
编程要求
根据相关知识,回答问题:(将答案填写在/data/workspace/myshixun/第三关.txt中)
1 号进程的核心栈栈底的位置是多少?
1 号进程(用 si)执行函数 task1 中的第一个 int 0x81 指令后,核心栈栈顶的位置是多少?从栈底到栈顶依次放了哪些内容?
本实训需要设置内核版本 1 为调试分析的对象,用 gdb 调试内核,内核版本 1 的压缩文件存放在/data/workspace/myshixun/exp1中。
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调试器中输入:
b task1
c
x/6i $eip
si
p/x current->tss
si
p/x $esp
x/6wx $esp
效果如图:
答案如下:
第2关:0 号进程的核心栈内容分析
编程要求
根据相关知识,回答问题:(将答案填写在/data/workspace/myshixun/第四关.txt中)
0 号进程的核心栈栈底的位置是多少?
0 号进程(用 si)执行了 fork 系统调用中的陷入指令后,核心栈栈顶的位置是多少?从栈底到栈顶依次放了哪些内容?
本实训需要设置内核版本 1 为调试分析的对象,用 gdb 调试内核,内核版本 1 的压缩文件存放在/data/workspace/myshixun/exp1中。
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调试器中输入:
b 145
c
n
p/x current->tss
x/3i $eip
si
si
p/x $esp
x/6wx $esp
效果如下:
答案如下:
版权归原作者 蓝莓奶油饺子· 所有, 如有侵权,请联系我们删除。