从运行gdb的主机发送step
命令到运行gdbserver的远程目标(通过TCP / IP连接)时,我在目标上收到以下错误
ptrace: Input/output error.
input_interrupt, count = 1 c = 36 ('$')
此后目标上没有任何事情发生 - 只是挂起。在主机的gdb上,显示以下内容
(gdb) step
warning: Remote failure reply: E01
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...
这将无限期地继续下去。结束我不得不重新启动目标。 continue
工作得很好,可以触发我指定的断点。这个错误可能完全在gdbserver端,还是与我的gdb配置有关?
目标上的gdbserver版本
主机上的gdb(源代码构建)版本
答案 0 :(得分:1)
看起来我遇到的问题是由于编译主机GDB时目标不正确。对于我正在使用的目标处理器,我需要将目标标志设置为
--target=arm-linux-gnueabihf
到目前为止,我能够逐步执行代码以及触发段错误。