我的问题是关于使用 gdb/gdbserver 在嵌入式 arm 处理器上远程调试应用程序。
我可以调试应用程序本身,但应用程序动态链接到实现内部通信协议的共享库。我希望能够在共享库函数中设置断点,因此尝试找出一些设备发现问题。
我已确保该库是使用调试符号编译的,并由 gdb 在主机端加载,我可以列出库中的函数,甚至设置断点,但是一旦我尝试运行应用程序,我就会收到一条错误消息的效果:
Cannot insert breakpoint X.
Error accessing memory address : Input/output error.
其中 X 是 gdb 中的断点编号,并且是一个小到有效的地址。
我在目标和主机上都使用新库,但是通过mount -o bind newlib oldlib
nfs 挂载的目标。
有谁知道可能出了什么问题?提前致谢。