【发布时间】:2014-05-27 08:16:46
【问题描述】:
我正在尝试使用 ndk-gdb 在 Android 上调试本机代码,但结果好坏参半。
当调试器遇到断点时,我可以使用 'bt' 获得很好的堆栈跟踪。 输入 'info source' 时,ndk-gdb 告诉我我在其中打断点的文件是“使用 DWARF 2 调试格式编译”。
当我输入“info args”来获取函数参数值时,问题就出现了。 ndk-gdb 然后声明:“没有可用的符号表信息。”。
我们将不胜感激任何有关此问题原因的意见。
【问题讨论】:
-
只是猜测,您在构建过程中是否使用了 -g 选项?
-
执行 'objdump -W' 产生:'
DW_AT_producer :(间接字符串,偏移量:0x12f6):GNU C 4.8 -mbionic -march=armv7-a -mfpu=vfpv3-d16 - mfloat-abi=softfp -mthumb -marm -mtls-dialect=gnu -g -Os -O0 -fpic -ffunction-sections -funwind-tables -fstack-protector -fno-strict-aliasing -finline-limit=64 -fno-省略帧指针'。 -
我们找到了解决方案:使用 gcc 4.6 工具链有效,而 gcc 4.8 工具链产生了我们看到的问题。
-
这也适用于我。不过仍然想使用 4.8。
标签: android c debugging android-ndk gdb