3

我正在尝试使用 gdb 来调查我没有任何来源的应用程序。

使用 Android NDK 提供的工具,我已经弄清楚了如何在设备上启动 gdbserver,然后在 PC 上启动正确的 gdbclient,以及如何通过远程模式进行连接。

现在的问题是,如果我尝试在fopen属于标准库(如 cstdlib)的方法上设置断点,gdb 会拒绝这样做,因为它会丢失符号文件。

我在哪里可以找到正确的符号文件(Android NDK 的具体子目录?)以及在远程模式下运行时如何将它们加载到 gdb 中(gdb 命令)?

PC 平台是 Windows,Android 是运行 4.1.2 的 Galaxy Nexus 手机

4

1 回答 1

-1

自从我对 gdb 做任何事情以来已经有一段时间了,但是你的问题引起了我的注意。我没有安装 NDK,所以我不能说出文件的位置。但我发现了一些关于加载缺失符号的信息。

本教程看起来有点像您正在尝试做的事情:http: //marcioandreyoliveira.blogspot.com/2008/03/how-to-debug-striped-programs-with-gdb.html

但它假定您构建了二进制文件并且可以使用符号构建一个。我不确定它是否可以仅加载 cstdlib 等,但这是一个开始。

于 2012-10-28T21:09:03.270 回答