KGDB,远程连接错误
我是KGDB的新手,我从主机连接目标时遇到问题,出现以下错误。 (gdb) target remote /dev/ttyUSB0 Remote debugging using /dev/ttyUSB0 Ignoring packet error, continuing... warning: unrecognized item "swreak" in "qSupported" response warning: unrecognized item "ReloInsn" in "qSupported" response warning: unrecognized item "QTread' [3]kdb> " in "qSupported" response Bogus trace status reply from target: qTStatus ... 确保串行连接在两个方向上都工作。您可以使用:KGDB,远程连接错误,gdb,kgdb,Gdb,Kgdb,我是KGDB的新手,我从主机连接目标时遇到问题,出现以下错误。 (gdb) target remote /dev/ttyUSB0 Remote debugging using /dev/ttyUSB0 Ignoring packet error, continuing... warning: unrecognized item "swreak" in "qSupported" response warning: unrecognized item "ReloInsn" in "qSupporte
[Host] cat /dev/ttyUSB0
[Target] echo 'from TARGET to HOST' > /dev/ttyS0
[Target] cat /dev/ttyS0
[Host] echo 'from HOST to TARGET' > /dev/ttyUSB0
您应该可以看到机器两侧的消息。如果没有,还有
电缆或驱动程序可能有问题
编译内核
启用KGDB*、KGDB_串行*、KGDB_USB*、调试信息、调试信息4、,
内核配置中的MAGIC_SYSRQ。在目标上编译并安装
这里的主要目的是启用KGDB功能并保留调试
vmlinux中的信息
代理代理设置
代理代理充当目标串行端口的代理。它分裂了
用于多路复用的串行端口。一个用于主控制台I/O,另一个用于
其他用于GDB会话。因此,我们可以同时处理这两个问题。你
应在主机上运行代理代理
git clone http://git.kernel.org/pub/scm/utils/kernel/kgdb/agent-proxy.git
cd agent-proxy ; make
./agent-proxy 5550^5551 0 /dev/ttyUSB0,115200
这将重定向:
- 目标控制台到主机:5550
- 目标到主机的kgdb侦听端口:5551
[Host] telnet localhost 5550
通过以下方式进入kdb模式:
[Target] echo ttyS0,115200 > /sys/module/kgdboc/parameters/kgdboc
[Target] dmesg | tail
(您应该看到KGDB:Registered I/O驱动程序kgdboc,否则
(失败)
#
当我在目标任务中键入kgdb时,它将获得错误,因为权限被拒绝,如下所示
[3]kdb> kgdb
diag: -22: Permission denied
[3] kdb>kgdb
诊断:-22:权限被拒绝
…我希望您能分步给出清楚的答案…,提前谢谢
diag: -22: Permission denied
该错误意味着默认情况下,内核会访问调试器函数。要解锁调试器,需要执行以下命令:
echo 1>/sys/module/kdb/parameters/cmd_enable
或添加内核启动参数:
kdb.cmd_enable=1
更多信息请正确设置您的问题格式,这样可以增加可读性: [3]kdb> kgdb diag: -22: Permission denied
diag: -22: Permission denied