KGDB调试配置

  • kgdb 选项 :

Kernel hacking-->

CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
选项在 Kernel hacking 里可以找到
同时,为了能在系统运行时中断系统并出发远程 gdb,必须打开内核 Magic Sys-Rq 键选项 :
CONFIG_MAGIC_SYSRQ=y
打开内核符号调试:

CONFIG_DEBUG_INFO=y
注意事项:
CONFIG_DEBUG_RODATA 必须被禁用,否则kgdb讲无法正常使用。

Compile the kernel with debug info=Y

Write protect kernel read-only data structures=N

 

title CentOS (2.6.26) Wait...(kernel debug)
root (hd0,0)
kernel /vmlinuz-2.6.26 ro root=/dev/VolGroup00/LogVol00 kgdboc=ttyS0,115200 kgdbwait
initrd /initrd-2.6.26.img


  • gdb vmlinux  
    启动gdb开始准备调试:输出大致如下:
    GNU gdb Red Hat Linux (6.3.0.0-1.153.el4rh)
    Copyright 2004 Free Software Foundation, Inc.
    GDB is free software, covered by the GNU General Public License, and you are
    welcome to change it and/or distribute copies of it under certain conditions.
    Type "show copying" to see the conditions.
    There is absolutely no warranty for GDB. Type "show warranty" for details.
    This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db
    library "/lib/tls/libthread_db.so.1"
  • (gdb) set remotebaud 115200
  • (gdb) target remote /dev/ttyS0
  • (gdb) add-symbol-file /root/scull/scull.ko 0xd099a000

echo g > /proc/sysrq-trigger




























你可能感兴趣的:(linux,centos,library)