相关疑难解决方法(0)

调试Android NDK本机应用程序

我正在尝试调试并逐步执行段错误的Android应用程序.我试过了ndk-gdb,但运气不好.我还提到了Android NDK调试而无法调试我的应用程序.

当我尝试时ndk-gdb --start,我得到:

$ ndk-gdb --start --verbose
Android NDK installation path: /opt/android-ndk-r7
Using default adb command: /opt/android-sdk-linux/platform-tools/adb
ADB version found: Android Debug Bridge version 1.0.29
Using final ADB command: '/opt/android-sdk-linux/platform-tools/adb'
Using auto-detected project path: .
Found package name: com.example.native_plasma
ABIs targetted by application: armeabi armeabi-v7a
Device API Level: 10
Device CPU ABIs: armeabi-v7a armeabi
Compatible device ABI: armeabi-v7a
Found debuggable flag: true
Found device gdbserver: /data/data/com.example.native_plasma/lib/gdbserver
Using gdb setup init: ./libs/armeabi-v7a/gdb.setup
Using toolchain …
Run Code Online (Sandbox Code Playgroud)

debugging android android-ndk

16
推荐指数
2
解决办法
3万
查看次数

如何在Android库项目中调试本机代码?

我正在开发一个包含本机代码的Android库.此库项目作为库添加到应用程序项目中.

我想在应用程序项目使用它时调试库.

我很确定库(makefile,build命令,编译器选项)项目中的设置是可以的,因为我在库中尝试了调试器(我创建了一个虚拟Activity并取消设置"库")并且它工作正常.我也知道由于加载动态库所需的时间而可能发生的延迟,我不认为这是因为同样的原因.

在Application项目中,我只是添加了本机代码支持,将build命令设置为ndk_build NDK_DEBUG=1,但它永远不会在断点处停止.任何想法将不胜感激

eclipse java-native-interface android android-ndk

10
推荐指数
1
解决办法
2万
查看次数

用GDB远程调试纯C程序

我正在尝试远程调试CAndroid设备上的纯程序.Android设备(目标)通过USB连接到主机.

我所做的是:从复制的目标以下文件: /system/lib,/vendor/lib,/system/bin/app_process,和/system/bin/linker.

目标:

  • 复制gdbserverNDK所述目标设备
  • 发送exe我要调试的内容
  • 在目标上使用运行的gdb服务器 ./gdbserver :5039 exec
    • 这基本上执行过程,得到一个 pid

主办:

  • 启用了端口 adb forward tcp:5039 tcp:5039
  • 跑了:arm-eabi-gcc exec.
  • 然后在gdb中:
    • set solib-search-path ...,我早先从目标中提取的库
    • target remote :5039

arm-eabi-gcc可以连接到远程进程,甚至继续(c)的执行.但是,我无法设置断点.如果我这样做,我会收到以下错误: Cannot access memory at address xxx.

我在这里错过了什么吗?

谢谢.

c android gdb android-ndk gdbserver

5
推荐指数
1
解决办法
1680
查看次数