我正在尝试调试并逐步执行段错误的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) 我正在开发一个包含本机代码的Android库.此库项目作为库添加到应用程序项目中.
我想在应用程序项目使用它时调试库.
我很确定库(makefile,build命令,编译器选项)项目中的设置是可以的,因为我在库中尝试了调试器(我创建了一个虚拟Activity并取消设置"库")并且它工作正常.我也知道由于加载动态库所需的时间而可能发生的延迟,我不认为这是因为同样的原因.
在Application项目中,我只是添加了本机代码支持,将build命令设置为ndk_build NDK_DEBUG=1,但它永远不会在断点处停止.任何想法将不胜感激
我正在尝试远程调试CAndroid设备上的纯程序.Android设备(目标)通过USB连接到主机.
我所做的是:从复制的目标以下文件:
/system/lib,/vendor/lib,/system/bin/app_process,和/system/bin/linker.
目标:
gdbserver从NDK所述目标设备exe我要调试的内容./gdbserver :5039 exec
pid主办:
adb forward tcp:5039 tcp:5039arm-eabi-gcc exec.set solib-search-path ...,我早先从目标中提取的库target remote :5039在arm-eabi-gcc可以连接到远程进程,甚至继续(c)的执行.但是,我无法设置断点.如果我这样做,我会收到以下错误:
Cannot access memory at address xxx.
我在这里错过了什么吗?
谢谢.