我正在调试一个在远程目标上运行在Linux环境中的嵌入式应用程序。板的唯一可用接口是一个单一的串行接口。现在,在init上连接了/bin/sh。我正在连接minicom,(重新)用lrzsz加载我的应用程序,并使用printfs完成工作。
我想使用gdbserver进行更细粒度的调试,但是连接似乎是个问题。通常我会通过以太网连接,但这在硬件上是不可用的。我知道gdbserver可以在串行行上运行,但是现在我的一个通信端口属于shell。
有什么好办法绕过这个限制吗?理想情况下,我希望能够在完成后运行gdbserver并返回到shell。我试着使用一个可用的串行接口(/dev/ttyS0)从shell启动gdbserver,然后退出minicom并在我的主机上启动GDB,但这很麻烦&看起来不起作用(即使在适当设置远程通信之后)。这能行吗?在这种情况下,明智的做法是什么?
发布于 2016-05-31 20:57:12
老派的解决方案怎么样?使用PPP在串行线路上运行IP网络。。然后,您可以将ssh (甚至telnet)连接到您的板上,并同时连接到gdb。考虑到您的情况,我建议手动启动pppd,以减少由于配置错误而将自己锁在门外的风险。LDP链接可以追溯到2000年,但是包含了很多调试建议。
https://stackoverflow.com/questions/37553527
复制相似问题