分析system_call中断处理过程

分析system_call中断处理过程

使用gdb跟踪分析一个系统调用内核函数(以 sys_chmod为例)

  • 启动调试内核

qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S

image

  • gdb 调试

另开 shell

gdb
(gdb) file linux-3.18.6/vmlinux  #在 gdb 界面中 target remote之前加载符号表
(gdb) target remote :1234   #建立连接
(gdb) break start_kernel #设置断点

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

image

image

  • 系统启动

image

  • 设置断点 sys_chmod

(gbd)b sys_chmod

image

  • 执行命令 chmod

image

  • 触发 gdb 中断

image

  • 单步执行

(gbd) s

image

  • 继续执行

(gbd) c

image

  • 系统调用完成,返回

image

system_call中断处理过程图解

image


版权声明:本文为博主原创文章,未经博主允许不得转载。

文章来源:http://blog.luoyuanhang.cn

文章来源: blog.csdn.net,作者:冰水比水冰,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/luoyhang003/article/details/46952649

(完)