Chinaunix首页 | 论坛 | 博客
  • 博客访问: 58005
  • 博文数量: 9
  • 博客积分: 226
  • 博客等级: 二等列兵
  • 技术积分: 131
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-22 22:43
文章分类

全部博文(9)

文章存档

2013年(2)

2012年(7)

我的朋友

分类: LINUX

2012-08-28 21:47:27

                                       开始调试
    在编译linux kernel的时候会在源码根目录生成一个vmlinux文件,请将该文件复制到host机器的工作目录中(假设工作目为:/host/XXX/kernel/2.6.32/dev)。
 
    使用gdb debug linux kernel的流程如下:
    1, 首先启动target机器,按两次shit键,选择带有kgdb的kernel。如果一切正常,系统会停在kgdb等待host机器连接,如下图所示:
   
2,在后台执行socat,命令如下:
   socat -d -d /home/serial0 pty &
“/home/serial0”是你在创建虚拟机串口的时候指定的路径;
   如果该命令成功执行, 会提示如下界面:
  
   请注意第三行的"N PTY is /dev/pts/2",在设置GDT remote的时候会用上;
3,开始调试, 
    $ gdb /host/XXX/kernel/2.6.32/dev/vmlinux
         ...一些GDB提示,省略了
    (gdb) dir /host/XXX/kernel/2.6.32/source
     (gdb) set remotebaud 115200
     (gdb) target remote /dev/pts/2
     Remote debugging using /dev/pts/2
    其中dir /host/XXX/kernel/2.6.32/source用来添加GDB的source code 搜索路径,指定你成你下载下来的linux 源码路径即可。现在就可以使用break下断点了。
至此搭建kgdb 调试linux kernel环境已经完全架好,剩下来你可以自己摸索了。
   
         
阅读(957) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~