Chinaunix首页 | 论坛 | 博客
  • 博客访问: 571709
  • 博文数量: 107
  • 博客积分: 3079
  • 博客等级: 少校
  • 技术积分: 1306
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-08 00:03
个人简介

emmoblin.github.com

文章分类

全部博文(107)

文章存档

2012年(8)

2011年(15)

2010年(49)

2009年(9)

2008年(26)

分类: LINUX

2008-11-08 00:17:35

kgdb  参数解释
现在虽然能调试了,但是有点不对劲。
1)target remote连接上后,server端没有任何显示。"Waiting for connection from remote gdb..."这条信息应该在target上显示,但我并没有看到。
答:在早期的内核版本中可能看不到提示信息,因为KGDB使用early_param(),所以可能无法显示,应该正常。
 
2)调试的时候continue后,执行到一段后又回到了最开始的位置。
        显示对于VFS加载错误。
 答:可能是内核编译选项不正确,要想调试首先要保证这个内核能正常运行。
 
 
2.6.26以后内核自带了kgdb,不需要再打patch了。
 
首先测试串口:
target上: cat < /dev/ttyS0
host 上:   echo hello > /dev/ttyS0
 
 
通过proc查看某个函数或者变量的地址:
 $ grep sys_close /proc/ksyms
c013212c sys_close_Rsmp_268cc6a2
 
KGDB的断点可以在内核中任何地方放置,除了KGDB本身所使用的代码。
甚至可以设置在中断中。
 
所有编译都必须在host上,因为target机上不需要源文件,只需要可执行文件。
如果在target机上编译,就需要把源文件和可执行文件都copy到host上。
 
kgdbwait: This option causes KGDB to wait for a GDB connection during kernel bootup.
kgdb8250=,
 
 
Ctrl + C 可以终止kernel运行,等待gdb命令。
阅读(1309) | 评论(0) | 转发(1) |
0

上一篇:今天qemu的cpu 100%

下一篇:usb安装系统

给主人留下些什么吧!~~