在谷歌搜索和读取之后我已经通过串行线设置了kgdb,我可以进入调试器(通过/ proc / sysrq-trigger停止内核)并从主机gdb连接,这是ARM工具链的一部分。< / p>
基本上我有开发板运行嵌入式linux abd我正在调试的驱动程序,而我的PC有两个连接到主板 - 串口和以太网(telnet会话)。
在我将主机gdb连接到目标之后,我无法再通过telnet连接到主板,因为重现内存损坏的唯一方法是在主板上应用一些配置用户应用程序。
是预期还是我做错了,有没有办法让目标和 GDB会话保持IP连接?
答案 0 :(得分:2)
这是预期的。主要是当您连接到KDB时,您正在破坏(停止/冻结)内核,它会等待您再次“再次”运行内核或跟踪问题中的项目。
这里要做的最好的事情是在你正在跟踪的API / Funciton上设置一个断点,然后“Go”,内核会运行,一旦它触及API,你就会让你的telnet / ssh重新工作它会进入调试器,但是由于整个操作系统被冻结,你将再次失去Telnet会话。