我为尚不存在的体系结构编写OCD守护程序。就目前而言,我尝试在GDB <-> My_OCD_Daemon之间建立远程通信,并开始出现问题。在我通过“目标远程tcp:IP:PORT”要求与守护程序建立连接之后,gdb开始发送一堆请求,以下是其中的一些请求:
发送数据包:$ Hg0#df ... Ack 收到的数据包:
发送数据包:$ qxtn#cb ... Ack
收到的数据包:XOCD
...
发送数据包:$ qxtocdversion#99 ... Ack
收到的数据包:6000
发送数据包:$ p2b0#34 ... Ack
回复包含无效的十六进制数字79
获取下一个数据包
...
对于大多数人来说,只要我回答“ +”就足够了,这表示接收成功。但是,有些命令如$ p2b0#34期望返回一些合理的大小值。
那么,有没有办法跳过来自GDB的这个永无止境的请求链,让它等待用户输入呢? 这样的初始化/握手过程应如何?
谢谢。
答案 0 :(得分:0)
好的,看来我们不能在gdb的初始阶段“绕过”或“跳过”。它用于配置gdb会话,应谨慎执行。将奇数值传递给gdb将导致在调试会话期间出现奇数行为。