我目前正在使用GDB,并且想调试Android中的本机处理器,特别是/ system / bin / lmkd。
但是一旦调用该处理器,我就无法停止GDB。
这是我到目前为止尝试过的:
Android端:
./gdbserver tcp:5039 /system/bin/lmkd
客户端:
gdb
target remote localhost:5039
从这里,我输入info shared
,这样我就可以获取本机处理器的基址,设置断点,继续,调用处理器,然后它将停止。
但是info shared
仅显示共享对象文件的地址。
关于如何在我不知道地址的处理器上设置断点的任何建议?
答案 0 :(得分:0)
您应该能够使用gdb中的info proc mappings
找到可执行文件本身在进程地址空间中的映射位置。如果知道需要断点的相对偏移量,则可以将其添加到其中的某个位置,以获取要中断的最终虚拟地址。
但是听起来好像您在为获取断点而树错了树。您不能通过符号名称设置断点吗?您可以使用调试符号重建二进制文件吗?