第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.tgzrm -rf curln -s 1 curcd 1/linuxmakecd ../..
启动虚拟机,在gdb调试器中输入:
b task1cx/6i $eipsip/x current->tsssip/x $espx/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.tgzrm -rf curln -s 1 curcd 1/linuxmakecd ../..
启动虚拟机,在gdb调试器中输入:
b 145cnp/x current->tssx/3i $eipsisip/x $espx/6wx $esp
效果如下:
答案如下: