Linux内核分析:实验五–使用GDB跟踪系统调用执行过程
刘畅 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
概述
本次实验使用GDB跟踪一个系统调用,上一次实验分别使用了C语言和嵌入式汇编实现了write系统调用。这次实验把上次实验写的系统调用代码加入MenuOS中,并且跟踪这个系统调用的执行的过程。
回顾一下write系统调用的实现代码
#include<unistd.h>
int main()
{
write( 1, "hello world\n", 12 );
return 0;
}
int main()
{
int result;
char * str = "hello world\n";
__asm__(
"movl $4, %%eax\n\t"
"movl $1, %%ebx\n\t"
"movl %1, %%ecx\n\t"
"movl $12, %%edx\n\t"
"int $0</