Linux调试内核代码是非常麻烦。它们一般加printk, 或者使用JTAG调试。

这里的方法是使用QEMU为了调试Linux核心。

由于QEMU自己实现gdb server, 它可以容易地使用gdb要调整内核。

也很有帮助。

为了尽量不多花时间在QEMU设置上,这里直接使用下面的内核image:

http://free-electrons.com/community/demos/qemu-arm-directfb/

1. QEMU的安装

 这个能够自己去QEMU的官网下载编译,假设自己手头上的发行版有相应QEMU的包的话那也能够直接安装。

 CentOS的话參考前面的 CentOS rpm 额外包的源

2. 下载相应的内核映像

 从下面网址下载:http://free-electrons.com/pub/qemu/demos/arm/directfb/1.0/ 这里面有一个vmlinuz-qemu-arm-2.6.20

3. 启动QEMU

 使用例如以下命令启动:

 $ qemu-system-arm -M versatilepb -m 16 -kernel vmlinuz-qemu-arm-2.6.20 -append "clocksource=pit quiet rw" -S -s

4. 调试内核

 这里须要有一个包括调试信息的vmlinux文件。能够直接编译http://free-electrons.com/pub/qemu/demos/arm/directfb/1.0/src/linux-2.6.20.tar.7z

 假设自己不想编译的话能够使用一个已编译好的vmlinux文件:http://pan.baidu.com/s/1sjuJYc1

 然后运行例如以下命令:

 $ arm-none-linux-gnueabi-gdb vmlinux

 在gdb在控制台输入:

 (gdb) target remote :1234

 (gdb) b start_kernel

 (gdb) c

 这一次,程序运行它会落在你设置断点start_kernel办公室。OK。所以,你可以调试内核任意代码!

最新文章

  1. 配置apache和nginx的tomcat负载均衡
  2. [转载] 在java中为什么变量1000 = 1000 返回false,但是100=100返回true?
  3. android: 内容提供器简介
  4. unity4.6 failed to update unity web player
  5. HTML5性能优化
  6. 洛谷P2279 [HNOI2003]消防局的设立
  7. opencv的高斯混合模型
  8. 关闭linux下的使用的端口
  9. 【安卓特效】怎样给ImageView加上遮罩,点击时泛黑、或泛白、?
  10. poj 2454 Jersey Politics 随机化
  11. MSSQLSERVER数据库- 配置数据库邮件配置的操作过程
  12. Nim游戏(组合游戏Combinatorial Games)
  13. hdu 4714 Tree2cycle dp
  14. visual studio中如何将string类型值转为BYTE(unsigned char)类型
  15. webpack初探 - (一)
  16. C++如何禁止对象的复制操作
  17. POJ 3009 Curling 2.0(DFS + 模拟)
  18. Visual studio 2010出现“error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”解决方式
  19. MongoDB学习笔记(三)--权限 && 导出导入备份恢复 && fsync和锁
  20. s:debug标签的错误ConcurrentModificationException

热门文章

  1. ASP.NET从MVC5升级到MVC6
  2. gap锁 对于unique index 和Ununique index
  3. linux下C语言socket网络编程简例
  4. 奋斗的孩子的TableView(三篇文章)
  5. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)
  6. SilkTest高级进阶系列6-motif tag
  7. Git使用之搭建基于SSH的Gitserver(上篇)
  8. nagios二次开发(五岁以下儿童)---nagios和nagiosql关系
  9. malloc函数的一种简单的原理性实现
  10. R12 付款过程请求-功能和技术信息 (文档 ID 1537521.1)