kgdb+gdb+vmware调试内核,比kdb好用,因为可以用gdb来看栈,局部变量等

准备两台虚拟机,一台编译内核,编译后将vmlinux system.map拷贝到另一台在boot下建立软连接

这样在调试端用gdb vmlinux还可以找到代码看代码

 

配置两台虚拟机的串口为pipe形式,名字相同,一个为server,一个为client

被调试的虚拟机(client):
 在grub中最后加kgdboc=ttyS0,115200 kgdbwait

server端的虚拟机:
 (gdb) set remotebaud 115200

 (gdb) target remote /dev/ttyS0

 Remote debugging using /dev/ttyS0

 kgdb_breakpoint (new_kgdb_io_ops=0xc0a0b7d8) at kernel/kgdb.c:1721

 1721 wmb(); /* Sync point after breakpoint */

 (gdb) c

 

continue之后,被调试的虚拟机继续启动,启动完成后,可以用 echo g > /proc/sysrq-trigger 来使调试虚拟机的gdb响应来进一步设置断点等

 

也可以在启动之后通过 echo ttyS0 > /sys/module/kgdboc/parameters/kgdboc 来指定串口 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值