问题标签 [ndk-gdb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - android package is not debuggable error Android Studio NDK
我知道我有一个可调试的 APK,我正在手机上运行它,基于以下输出显示文件被推送到我的手机:
但是当我运行 GDB 时,它抱怨 apk 不可调试:
我认为这是因为我从项目的 /main 目录调用 gdb,这是 GDB 似乎开始运行的唯一地方。并且它不具有可调试文件的可见性,该文件位于文件结构的不同分支之外。请看下面:
所以问题是我如何运行 GDB,它应该从项目根目录运行并以某种方式告诉它使用可调试文件?
android - ndk-gdb 找不到 gdb.setup
我正在尝试使用 ndk-gdb 来调试我的原生 android 项目。当我运行命令 ndk-gdb 时出现错误
解释
- 运行 MacOSX,ndk r10e;使用 ndk 示例 San Angeles
- 按照此处的步骤设置本机调试https://developer.android.com/ndk/guides/ndk-gdb.html
- 基本上我设置了 android:debuggable="true", APP_OPTIM := debug 并使用 ndk-build NDK_DEBUG=1 构建了本机(这 3 个设置可能是多余的,但以防万一)
- 使用ant debug、adb install安装;Ran应用程序和应用程序运行良好
运行 ndk-gdb --verbose 产生
ndk-gdb --verbose
Android NDK安装路径:
使用默认的 adb 命令:
找到 ADB 版本:Android Debug Bridge 版本 1.0.32
使用亚行标志:
使用 JDB 命令:
使用自动检测的项目路径:.
找到包名:
com.example.SanAngeles
应用程序针对的 ABI:arm64-v8a armeabi armeabi-v7a armeabi-v7a mips mips64 x86 x86_64
设备 API 级别:19
设备 CPU ABI:x86
兼容设备 ABI:
使用 gdb 设置初始化:
使用工具链前缀:
使用应用程序输出目录:./obj/local/armeabi
找到可调试标志:
true
错误:
/li>
android - Android ndk-gdb 本机代码调试中的“无法插入断点。无法在地址访问内存”错误
在过去的 4 天里,我一直在尝试使用 ndk-gdb 在 Android 应用程序中调试本机 C++ 代码。但我不断收到此错误。无法插入断点
我在 wordpress 网站的 mhandroid 中使用-eclipse-for-android-cc-debugging 遵循了本教程(请注意,我不能提供超过 2 个链接。)
在 Eclipse 中设置断点后,我将 Eclipse 作为调试应用程序启动。它在java代码中遇到断点。然后我在 Cygwin 中运行 ndk-gdb-eclipse(按照教程)。在 ndk-gdb 中一切运行良好。请看下图, ndk-gdb在cygwin中运行
然后我在 Eclipse 中作为 C/C++ 应用程序启动调试,我收到错误“无法插入断点”
我已经检查了这里的所有帖子,但没有解决此错误的方法。
任何人都可以对这个问题有所了解吗?提前致谢。
android-ndk - 用于 NDK r11 的 ndk-gdb 工具。我在哪里可以找到它们?
刚刚发布的NDK r11。
发行说明状态:Removed ndk-gdb in favor of ndk-gdb.py
但是,r11 NDK 包中的任何地方似乎都没有任何 gdb 工具。我错过了什么。现在这是一个必须以某种方式绑定的单独工具吗?这是 NDK 众神的粗心疏忽吗?我在旧的 ndk r10e 上达到了顶峰,确实有 ndk-gdb 和 ndk-gdb.py,所以我知道 python 脚本至少存在在那里。这些项目我可以从我的 R10e 版本移植过来吗?我知道 ndk-gdb 脚本总是在我需要一些定期调整的情况下打破。我从来没有使用过 python 脚本,所以我想我的问题是双重的。
我在哪里获取/安装/配置ndk-gdb.py
以及如何使用它。它与旧的 ndk-gdb shell 脚本有很大不同吗?
非常感谢任何见解或帮助。
android - NDK r11b:使用 ndk-gdb.py 调试器需要帮助
平台是 Mac,使用NDK r11b
,我的应用程序由大约 8 个 c/c++ so 文件组成。过去我通过 NDK r10e 使用过 ndk-gdb (sh) 脚本。shell 脚本现在已被弃用,ndk-gdb.py
现在是唯一的选择。问题是我无法让它工作。我像往常一样从我的项目文件夹中运行它。我尝试了多个命令行选项,但没有成功。感觉好像没有找到我的源文件。它使用"Waiting for Debugger"
. 我到了(gdb) prompt
。我尝试添加断点,但在可靠的中断点处没有中断。我需要一些关于如何为 ndk-gdb 配置和使用 python 版本的指示。谷歌已经删除了文档文件,我在任何地方都找不到任何足以作为指南的东西。
我尝试过的一些命令行。
ndk-gdb --launch --verbose
这会启动应用程序,但会阻止等待调试器
ndk-gdb
将附加到正在运行的进程。ctr-c 将暂停执行,但回溯会bt
列出损坏的堆栈。
ndk-gdb --launch -t -v -p $ProjectDir
我得到了一个我不熟悉的新界面,上面写着[ No Source Available ]
任何帮助或见解将不胜感激
android-ndk - 最新的ndk-gdb无法连接到我的设备
我只是在使用 ndk-gdb 调试我的本机应用程序时遇到了麻烦。这是我的环境:
- OS X El 队长 10.11.5
- NDK 版本 r12
- SDK 版本 24
- 构建工具版本 24.0.0
- 设备 Nexus 6P 与 Android N (NPD35K)
问题:
当我要启动ndk-gdb
它总是失败并显示消息
但是,gdbserver
自从我的应用程序暂停以来,该实例已经启动,我可以看到gdbserver
inadb shell ps
列表。
我试过的:
gdbserver
我没有通过ndk-gdb
脚本 启动,而是gdbserver
手动启动adb run-as
并确保gdbserver
继续运行通过
adb forward :5039 localfilesystem:/the_gdb_socket_path
用于
netstat -na | grep 5309
确保端口正在侦听- 用于
telnet localhost 5039
测试套接字但得到错误Connection closed by foreign host
有没有更好的方法来确定导致远程 gdb 连接失败的问题所在?
android - 包含库模块中的 Android NDK 调试
我目前正在开发一个使用 NDK 的库的 Android 应用程序。库和应用程序在单独的存储库中维护,并作为单独的项目工作。该库是使用 Gradle 和 ndk-build 脚本自行编译的。然后将 aar 输出和 .so 文件包含在主应用程序中。
我的问题是:
有没有办法在主应用程序中运行时使用 ndk-gdb(或其他替代方法)来调试库?
我有这两个项目的源代码,如果需要,我可以将这些项目与 ndk-gdb 结合使用,但这非常混乱,需要大量不受版本控制的额外工作。
android-ndk - 我可以运行连接到两个设备的 ndk-gdb 吗?
我正在尝试运行连接到两个设备的两个 ndk-gdb 实例。
但是基于此页面,我找不到这样做的方法...
https://developer.android.com/ndk/guides/ndk-gdb.html
甚至可以将两个单独的设备连接到两个通过 adb 运行的 ndk-gdb 实例吗?
android - Android Studio 生成核心转储 CMake
我正在尝试为我的 android studio 应用程序生成核心转储。它是用 Java 编写的,但是由于崩溃发生在我的本机库中,我正在尝试生成一个核心转储。
我正在使用 cmake 来配置本机库,而不是 Android.mk。
因此,当我尝试运行时,ndk-gdb
我得到:
当我在我的应用程序中使用 CMake 时,如何获取核心转储?我该怎么跑gdb
呢?
android - ndk-gdb 中的“无法从 Android.mk 检索应用程序 ABI”错误
我正在尝试使用 ndk-gdb 工具调试本机 android 应用程序。当我执行 ndk-gdb 时,出现以下错误。
“/home/amila/Android/Ndk/android-ndk-r20/build/core/add-application.mk:88: *** Android NDK: Aborting... . 停止。错误: 无法从 Android 检索应用程序 ABI .mk。”
我已经使用ndk-build
命令构建了本机部分,并且该应用程序正在 Android Studio 中构建,没有任何问题。
jni 目录:/ndktest/jni(其中 ndktest 是应用名称)
我在ndk-gdb
AndroidManifest.xml 所在的目录 (/ndktest/app/src/main) 中运行了该命令。
我还尝试添加APP_ABI := arm64-v8a
到 Android.mk 中,但没有任何改变。
jni/Android.mk
jni/应用程序.mk
ndk-gdb
运行该工具时应该没有错误。