+ -
当前位置:首页 → 问答吧 → kgdbwait不等待

kgdbwait不等待

时间:2011-09-02

来源:互联网

求助,最近搭建kgdb老是搭不起来,麻烦搭建过的大哥大姐帮忙看下吧,被这东西搞得很凌乱。

环境:目标机和开发机都是centos6.0( 内核2.6.32),已经用串口测试过两机能正常通信。

先在开发机上编译了一个2.6.32的内核,kernel中配置文件的相应的选项如下:

1)Prompt for development and/or incomplete code/drivers
2)CONFIG_KGDB = y
Location:  
  -> Kernel hacking  
  -> KGDB: kernel debugger
3)CONFIG_KGDB_SERIAL_CONSOLE = y (使用串口进行通信)
Location:  
  -> Kernel hacking  
  -> KGDB: kernel debugger
  -> KGDB: use kgdb over the serial console
4)CONFIG_DEBUG_RODATA = n
5)CONFIG_KGDB_LOW_LEVEL_TRAP = y
6)CONFIG_DEBUG_INFO = y
7)CONFIG_FRAME_POINTER = y
8)CONFIG_MAGIC_SYSRQ = y

编译完成之后,将开发机../arch/x86/boot/bzImage和/boot/vmlinuz还有/boot/System.map都拷贝到了目标机的/boot目录下,
修改目标的menu.lst,里面的参数设置如下:

title CentOS Linux (2.6.32-kgdb)
  root (hd0,0)
  kernel /vmlinuz-2.6.32-kgdb ro root=/dev/mapper/vg_lys-lv_root rd_LVM_LV=vg_lys/lv_root rd_LVM_LV=vg_lys/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=zh_CN.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet

  kgdbwait kgdboc=ttyS0,115200
  initrd /initramfs-2.6.32-kgdb

然后先测试下这时候两机间的串口是可以正常通信的。
重启目标机,可是目标启动之后并没有等待开发机的连接而是直接就login进去了,这到底是怎么回事,跪求指教,呜呜!!!

作者: lysddp   发布时间: 2011-09-02

可能是串口驱动问题, kgdb通过串口调试只支持某些串口硬件。
也许你可以试试通过网口调试。

作者: wenxy1   发布时间: 2011-09-03