- 论坛徽章:
- 0
|
为了用kgdb调试内核,在vmware里也装了个gentoo。要让它各宿主机通过串口通信,进行如下设置:
(Vmware版本是 Vmware-Workstation-5.5.3 build-34685)
![]()
这里要用到一个小工具socat,因为vmware的named piped不能被gdb直接使用,所以在主机中运行:
socat -d -d /tmp/serial /dev/ptys0
类似ptyXY的伪终端都有一个和它对应的tyyXY,man上说的是pre-created pairs,也就是把/tmp/serial连接到/dev/ptys0,而从ttys0中又可以将信息从ptys0中读出并写入数据,从而达到调试内核的目的。
之后power虚拟机,等出现Ok,Uncompressing Linux时会停住在那(kgdbwait)。主机上运行
gdb vmlinux
gdb>set remotebaud 115200
gdb>target remote /dev/ttys0
Remote debugging using /dev/ttyp1
0xc013cf29 in kgdb_handle_exception (ex_vector=-1069744312, signo=-1069742288, err_code=0,
linux_regs=0xc03eec80) at kgdb.c:1384
1384 in kgdb.c
warning: shared library handler failed to enable breakpoint
说明已经连接成功了,输入continue就会看到虚拟机继续启动了.
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/30725/showart_253191.html |
|