标签: ndk-gdb

run-as Package'abc'未知 - Galaxy S4 Jellybean或Android 4.3

我无法为运行Jellybean 4.2.2的Galaxy S4运行run-as(或ndk-gdb).

~  $ adb shell
shell@android:/ $ run-as a.b.c ls
run-as: Package 'a.b.c' is unknown
Run Code Online (Sandbox Code Playgroud)

对于pre-ICS设备,这个问题有多个答案,但这些答案似乎已在ICS中得到修复.

更新 - 2013年8月:在最初出现在带有Jellybean 4.2.2的Galaxy S4之后,现在似乎是所有4.3设备上的运行问题.看到这个Android bug.

请在此处查看已确认的Android问题.

更新 - 2013年11月:谷歌发布了修复Android 4.4中运行的修补程序.

android gdb android-ndk ndk-gdb android-4.3-jelly-bean

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

Gradle不会将gdbserver打包到apk中.ndk-gdb导致"错误:目标设备上安装了不可调试的应用程序"

在Android Studio 0.6中,我创建了一个android测试项目,其中包含一个用JNI包装的非常简单的C函数.我订android:debuggable="true"AndroidManifest.xml.

我跑ndk-build NDK_DEBUG=1.这会在正确的位置生成一个gdbserver和一个gdb.setup文件.

在此输入图像描述

但是,当我在Android studio中构建项目时,ndk-gdb --debug我得到了以下输出:

Android NDK installation path: /usr/local/android-ndk-r9d
Using default adb command: /Applications/Android Studio.app/sdk/platform-tools/adb
ADB version found: Android Debug Bridge version 1.0.31
Using ADB flags:
Using JDB command: /usr/bin/jdb
Using auto-detected project path: .
Found package name: com.example.testndk.app
ABIs targetted by application: armeabi-v7a
Device API Level: 19
Device CPU ABIs: armeabi-v7a armeabi
Compatible device ABI: armeabi-v7a
Using gdb setup init: ./libs/armeabi-v7a/gdb.setup
Using toolchain …
Run Code Online (Sandbox Code Playgroud)

android android-ndk ndk-gdb android-studio android-gradle-plugin

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

使用r9进行NDK调试可以在W7/64上运行但是在XP中给我带来了问题

我最近加载了新的Android开发工具,SDK 20130717和NDK r9.

到目前为止,我已经拥有了以前的版本,在我的两个系统中都可以正常运行和调试Eclipse,XP和W7/64.

现在,在新工具安装和所需路径环境发生变化后,带有新工具的W7/64可以正常工作并调试我的应用程序.

当我选择"Debug As"+"Android Native Application"时,它可以正常工作.

然而XP,尽管他们在文件夹/ cygwin等方面具有确切的配置,在安装新工具和必要的路径env改变之后,它看起来无法启动ndk-dbg而且它确实在最后等待在"启动MyApp(1):( 100%)".在我选择"Debug As"+"Android Native Application"之后会发生这种情况.

关于它可能是什么原因的任何提示?或者我错过了XP和r9调试的任何已知问题?

谢谢,克里斯托斯

*编辑

试图手动启动ndk-gdb,这是我得到的,任何提示都是受欢迎的

大段引用

$ ndk-gdb --start --verbose --force

Android NDK安装路径:/ cygdrive/e/android-ndk-r9

使用默认的adb命令:/ cygdrive/e/adt-bundle-windows-x86-20130717/sdk/platform-tools/adb

发现ADB版本:Android Debug Bridge版本1.0.31

使用ADB标志:

使用JDB命令:/cygdrive/e/Android/Java/jdk1.7.0_21/bin/jdb

使用自动检测的项目路径:.

找到包名:myndkpackage

申请目标ABIs:armeabi-v7a

设备API级别:17

设备CPU ABIs:armeabi-v7a armeabi

兼容设备ABI:armeabi-v7a

使用gdb setup init:./ libs/armeabi-v7a/gdb.setup

使用工具链前缀:/cygdrive/e/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/arm-linux-androideabi-

使用app out目录:./ obj/local/armeabi-v7a

找到debuggable标志:true

找到设备gdbserver:/ data/data/myndkpackage/lib/gdbserver

找到数据目录:'/ data/data/myndkpackage'

找到第一个可启动的活动:myndkpackage.MainActivity

启动活动:myndkpackage/myndkpackage.MainActivity

命令:adb_cmd shell am start -D -n myndkpackage/myndkpackage.MainActivity

开始:意图{cmp = myndkpackage/.MainActivity}

命令:adb_cmd shell sleep 2

发现运行PID:2787

杀死现有的调试会话

命令:adb_cmd shell kill -9 2753

成功启动了gdbserver. …

android-ndk gdbserver ndk-gdb

9
推荐指数
1
解决办法
3636
查看次数

ndk-gdb错误:设备不支持应用程序的目标CPU ABI

试图运行ndk-gdb并收到此错误:

Android NDK安装路径:/ Library/AndroidSDK/ndk/
使用特定的adb命令:/ Library/AndroidSDK/platform-tools/adb
发现的ADB版本:Android Debug Bridge版本1.0.31
使用ADB标志:
使用自动检测的项目路径:.
发现包名称:com.dev.project
JNI/Android.mk:18:*的Android NDK:中止..停止.
应用程序所针对的ABI:Android NDK:
设备API级别:17
设备CPU ABI:armeabi-v7a armeabi
错误:设备不支持应用程序的目标CPU ABI!
设备支持:armeabi-v7a armeabi
包支持:Android NDK:

jni/Android.mk中的第18行是一个导入模块调用.

这意味着什么以及如何补救它?

根据ndk文档,应用程序是可调试的.我正在使用Mac.我可以构建并运行App,因此构建脚本应该没问题.


Android.mk

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := libgl2jni
LOCAL_CFLAGS    := -Werror -Wall -g
LOCAL_CPPFLAGS  := -std=c++11
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../src $(LOCAL_PATH)/../../include $(LOCAL_PATH)/../../../boost

NDK_MODULE_PATH := $(LOCAL_PATH)/../../lib/ndk
LOCAL_SRC_FILES := $(subst $(LOCAL_PATH)/,,$(wildcard $(LOCAL_PATH)/*.cpp) $(wildcard $(LOCAL_PATH)/../../src/*/*.cpp))
LOCAL_LDLIBS    := -llog -lGLESv2

LOCAL_STATIC_LIBRARIES := freetype

include $(BUILD_SHARED_LIBRARY)

$(call import-module,otherlib) #commenting this line launches the ndk-gdb, …
Run Code Online (Sandbox Code Playgroud)

android gdb android-ndk ndk-gdb

8
推荐指数
1
解决办法
6966
查看次数

将gdb变量传递给从gdb中执行的shell命令

我想从gdb执行一个shell命令,这个shell命令需要一个参数,这个参数是一个gdb变量.如何在将命令和参数传递给shell解释器之前让gdb解释这个变量?

例如,在gdb提示符中:

(gdb) set $my_arg = 2
(gdb) shell echo $my_arg
Run Code Online (Sandbox Code Playgroud)

我想这对打印2stdout,但实际上它并打印一个空行.

编辑:我正在使用ndk-gdb,它不支持python脚本.

bash shell gdb android-ndk ndk-gdb

7
推荐指数
2
解决办法
2621
查看次数

在ubuntu 12.04中使用android-ndk-r9d-linux-x86的ndk-gdb出错

我在ubuntu 12.04中使用android-ndk-r9d-linux-x86的ndk-gdb来调试android本机应用程序"hello-jni",但它收到此错误.

  WARNING: The shell running this script isn't bash.  Although we try to avoid bashism in               scripts, things can happen.
  .../adt-bundle-linux-x86-20140321/android-ndk-r9d/ndk-gdb: 143: .../adt-bundle-linux-x86-20140321/android-ndk-r9d/ndk-gdb: Bad substitution
  .../adt-bundle-linux-x86-20140321/android-ndk-r9d/ndk-gdb: 555: [: 1: unexpected operator
  .../adt-bundle-linux-x86-20140321/android-ndk-r9d/ndk-gdb: 771: [: armeabi-v7a: unexpected operator
Run Code Online (Sandbox Code Playgroud)

但android-ndk-r8e-linux-x86还可以,我想知道为什么?谢谢.

c++ linux ubuntu android-ndk ndk-gdb

6
推荐指数
1
解决办法
945
查看次数

Android调试ndk-gdb

我已经和它斗争了好几天,我已经接近但仍然没有运气.我试图通过ndk-build NDK_DEBUG = 1构建一个Android应用程序,它工作得很好.我可以从eclipse启动并让它运行,但我想从命令行调试.所以我用ndk-gdb尝试了不同的方法,但没有运气.我试过"ndk-gdb --start --nowait --verbose","ndk-gdb --start --verbose","ndk-debug",似乎没什么用.如果我拿出'no-wait'标志,我会得到一个稍微不同的输出,但同样的错误弹出...

没有等待标志:

Claudias-MacBook-Pro:Android claudia$ ndk-gdb --start --verbose
Android NDK installation path: /Applications/Intel/INDE/Framework/NDK
Using default adb command: /Applications/Intel/INDE/Framework/ADT/sdk/platform-tools/adb
ADB version found: Android Debug Bridge version 1.0.31
Using ADB flags: 
Using JDB command: /usr/bin/jdb
Using auto-detected project path: .
Found package name: com.yourcompany.neckrowfish
ABIs targetted by application: armeabi armeabi-v7a
Device API Level: 19
Device CPU ABIs: x86 armeabi-v7a
Compatible device ABI: armeabi-v7a
Using gdb setup init: ./libs/armeabi-v7a/gdb.setup
Using toolchain prefix: /Applications/Intel/INDE/Framework/NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-
Using app out …
Run Code Online (Sandbox Code Playgroud)

android android-ndk ndk-gdb ndk-build

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

Android ndk-gdb本机代码调试中的“无法插入断点。无法访问地址处的内存”错误

最近4天,我一直在尝试使用ndk-gdb在Android应用程序中调试本机C ++代码。但我一直收到这个错误。无法插入断点

我已经在wordpress网站中的mhandroid中使用了针对eclipse-for-android-cc-debugging的本教程进行了学习(请注意,我不能提供两个以上的链接。)

在eclipse中设置断点后,我已将eclipse作为应用程序调试启动。它在Java代码中达到了断点。然后我在Cygwin中运行了ndk-gdb-eclipse(根据教程)。在ndk-gdb中一切运行正常。请参见下图, ndk-gdb在cygwin中运行

然后我在eclipse中以C / C ++应用程序形式启动调试,出现错误“无法插入断点”

我在这里检查了所有帖子,但没有针对此错误的解决方案。

任何人都可以在这个问题上阐明一下吗?提前致谢。

eclipse android remote-debugging native-code ndk-gdb

5
推荐指数
0
解决办法
585
查看次数

Android NDK + GDB

请帮我使用ndk-gdb!

我搜索了StackOverflow和其他互联网=)但仍然做错了什么.

配置:MacOSX 64 +最新SDK +最新NDK +最新IDEA + Nexus 7 +巨大的C++项目.

我做了所有共同的安排:

  • -g -ggdb -O0LOCAL_CFLAGS(也试过-g)
  • APP_OPTIM := debug
  • debuggable=«true» 在清单中
  • ndk-build NDK_DEBUG=1

我得到了预期的gdb.setup和gdbserver文件,BUT nm命令给我*.so文件的零输出.

ndk-gdb在项目的根文件夹中运行并运行GDB - 例如我可以暂停应用程序并恢复它,可以在地址上获取ASM代码等等.即使我设置制动点break Class::method,gdb告诉我正确的文件名和行号.

但断点并没有达到99%.Backstack总是显然是错误的(错误的方法名称).看起来所有符号名称和地址映射错误.

我错过了什么?

UPD.gdb在启动时输出两个命令info sharedlibraryC.

:ndk-gdb

/android-ndk-macosx/build/core/add-application.mk:128: Android NDK: WARNING: APP_PLATFORM android-14 is larger than >android:minSdkVersion 8 in ./AndroidManifest.xml
/android-ndk-macosx/build/core/add-application.mk:128: Android NDK: WARNING: APP_PLATFORM android-14 is larger than >android:minSdkVersion 8 in ./AndroidManifest.xml
/android-ndk-macosx/build/core/add-application.mk:128: Android NDK: WARNING: APP_PLATFORM android-14 is …
Run Code Online (Sandbox Code Playgroud)

android gdb native android-ndk ndk-gdb

4
推荐指数
1
解决办法
6822
查看次数

ndk-gdb无法找到gdb.setup

我正在尝试使用ndk-gdb来调试我的原生android项目.当我运行命令ndk-gdb时,我收到错误

 Could not find gdb.setup under ./libs/
Run Code Online (Sandbox Code Playgroud)

说明

c++ debugging android android-ndk ndk-gdb

4
推荐指数
1
解决办法
1701
查看次数