linux 3.4.10 内核内存管理源代码分析1:源代码阅读工具,编译及调试

法律声明linux 3.4.10 内核内存管理源代码分析》系列文章由机器人(ancjf@163.com)发表于http://blog.csdn.net/ancjf,文章遵循GPL协议。欢迎转载,转载请注明作者和此条款。

在分析源代码之前先介绍阅读源代码使用的工具,编译和调试源代码的方法。

内核调试:

         我分析Linux源代码是用source insght,但在内核中源代码中有众多的宏和平台,一个函数可能有平台和配置不同的执行流程,用调试内核的方法可以确定函数的执行流程。这里分析的流程是在网站站下载的源码包linux-3.4.10.tar.bz2。

         下面介绍Linux源代码调试方法:

         编译调试环境我用的是用光盘映像ubuntu-12.04.1-desktop-i386.iso安装的系统。

      编译内核

         在编译内核前要安装libncurses:

         apt-get install libncurses5-dev

         解压并进入源代码目录

         tar xjf linux-3.4.10.tar.bz2

         cd linux-3.4.10

         需要运行命令进行配置,不用改任何配置,直接保存退出就可以了

         make menuconfig

         编译内核

         make bzImage

        

安装qemu

         apt-get install qemu

         创建一个软连接

         ln -s /usr/bin/qemu-system-x86_64 /usr/bin/qemu

 

调试:

         在刚才解压的内核源代码目录下运行命令

         qemu -kernel ./arch/x86/boot/bzImage -append "root=/dev/ram0 rw" -s -S

         开启另外一个命令窗口,进入解压的内核源代码目录,运行命令:

         gdb vmlinux

         在gdb命令行下输入命令

         target remote localhost:1234

         b start_kernel

         现在可以用gdb命令像调试普通程序一样调试内核


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值