码迷,mamicode.com
首页 > 其他好文 > 详细

分析system_call中断处理过程

时间:2015-07-19 12:05:19      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:内核   linux   系统调用   跟踪   

分析system_call中断处理过程

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

  • 启动调试内核

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

技术分享

  • gdb 调试

另开 shell

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

技术分享

技术分享

  • 系统启动

技术分享

  • 设置断点 sys_chmod

(gbd)b sys_chmod

技术分享

  • 执行命令 chmod

技术分享

  • 触发 gdb 中断

技术分享

  • 单步执行

(gbd) s

技术分享

  • 继续执行

(gbd) c

技术分享

  • 系统调用完成,返回

技术分享

system_call中断处理过程图解

技术分享


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

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

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

分析system_call中断处理过程

标签:内核   linux   系统调用   跟踪   

原文地址:http://blog.csdn.net/luoyhang003/article/details/46952649

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!