Chinaunix首页 | 论坛 | 博客
  • 博客访问: 155679
  • 博文数量: 129
  • 博客积分: 125
  • 博客等级: 入伍新兵
  • 技术积分: 670
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-17 16:37
文章分类

全部博文(129)

文章存档

2013年(12)

2012年(117)

我的朋友

分类:

2012-07-19 17:24:37

原文地址:kgdb 作者:emmoblin

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命令。
阅读(438) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~