- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在尝试使用 Android NDK 调试 native 代码时遇到问题。
当应用程序运行时,我启动了 ndk-gdb
,结果是 gdb 失去了与设备的连接,设备上的应用程序崩溃了。
设备 (Samsung Galaxy 10.1) 和模拟器都会发生同样的事情。主机运行的是 Mac OS X。应用程序的 native 部分由多个 .so 库组成,使用 ndk-build clean all NDK_DEBUG=1
我在下面附上了 gdb
输出。
如有任何帮助,我们将不胜感激。
编辑:也许问题出在“cp”命令失败?还有空的“Using gdb setup init:”行?
$NDK/ndk-gdb --verbose
Android NDK installation path: /Users/flavio/Documents/android-sdk-mac_x86/ndk/android-ndk-r7
Using default adb command: /Users/flavio/Documents/android-sdk-mac_x86/platform-tools/adb
ADB version found: Android Debug Bridge version 1.0.29
Using final ADB command: '/Users/flavio/Documents/android-sdk-mac_x86/platform-tools/adb'
Using auto-detected project path: /Users/flavio/MacDevel/nTrack/trunk/n-Track_EX/Android/AndroidTesting
Found package name: com.ntrack.ntrack
ABIs targetted by application: armeabi
Device API Level: 12
Device CPU ABIs: armeabi-v7a armeabi
Compatible device ABI: armeabi
Found debuggable flag: false
Found gdbserver under libs/armeabi, assuming app was built with NDK_DEBUG=1
Found device gdbserver: /data/data/com.ntrack.ntrack/lib/gdbserver
Using gdb setup init:
Using toolchain prefix: /Users/flavio/Documents/android-sdk-mac_x86/ndk/android-ndk-r7/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin/arm-linux-androideabi-
Using app out directory: ./obj/local/armeabi
Found data directory: '/data/data/com.ntrack.ntrack'
Found running PID: 2302
Launched gdbserver succesfully.
Setup network redirection
## COMMAND: /Users/flavio/Documents/android-sdk-mac_x86/platform-tools/adb forward tcp:5039 localfilesystem:/data/data/com.ntrack.ntrack/debug-socket
## COMMAND: /Users/flavio/Documents/android-sdk-mac_x86/platform-tools/adb shell run-as com.ntrack.ntrack lib/gdbserver +debug-socket --attach 2302
## COMMAND: /Users/flavio/Documents/android-sdk-mac_x86/platform-tools/adb pull /system/bin/app_process ./obj/local/armeabi/app_process
Attached; pid = 2302
Listening on sockaddr socket debug-socket
1269 KB/s (9828 bytes in 0.007s)
Pulled app_process from device/emulator.
## COMMAND: /Users/flavio/Documents/android-sdk-mac_x86/platform-tools/adb pull /system/lib/libc.so ./obj/local/armeabi/libc.so
2988 KB/s (275874 bytes in 0.090s)
Pulled libc.so from device/emulator.
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "--host=i686-apple-darwin --target=arm-elf-linux".
(no debugging symbols found)
Error while mapping shared library sections:
/system/bin/linker: No such file or directory.
Error while mapping shared library sections:
libc.so: Undefined error: 0.
Error while mapping shared library sections:
libstdc++.so: Undefined error: 0.
Error while mapping shared library sections:
libm.so: Undefined error: 0.
Error while mapping shared library sections:
liblog.so: Undefined error: 0.
Error while mapping shared library sections:
libcutils.so: Undefined error: 0.
Error while mapping shared library sections:
libz.so: Undefined error: 0.
Error while mapping shared library sections:
libutils.so: Undefined error: 0.
Error while mapping shared library sections:
libbinder.so: Undefined error: 0.
Error while mapping shared library sections:
libexpat.so: Undefined error: 0.
Error while mapping shared library sections:
libcrypto.so: Undefined error: 0.
Error while mapping shared library sections:
libicuuc.so: Undefined error: 0.
Error while mapping shared library sections:
libicui18n.so: Undefined error: 0.
Error while mapping shared library sections:
libsqlite.so: Undefined error: 0.
Error while mapping shared library sections:
libssl.so: Undefined error: 0.
Error while mapping shared library sections:
libstlport.so: Undefined error: 0.
Error while mapping shared library sections:
libnativehelper.so: Undefined error: 0.
Error while mapping shared library sections:
libnetutils.so: Undefined error: 0.
Error while mapping shared library sections:
libEGL.so: Undefined error: 0.
Error while mapping shared library sections:
libwpa_client.so: Undefined error: 0.
Error while mapping shared library sections:
libhardware_legacy.so: Undefined error: 0.
Error while mapping shared library sections:
libpixelflinger.so: Undefined error: 0.
Error while mapping shared library sections:
libhardware.so: Undefined error: 0.
Error while mapping shared library sections:
libemoji.so: Undefined error: 0.
Error while mapping shared library sections:
libjpeg.so: Undefined error: 0.
Error while mapping shared library sections:
libquramimagecodec.so: Undefined error: 0.
Error while mapping shared library sections:
libskia.so: Undefined error: 0.
Error while mapping shared library sections:
libui.so: Undefined error: 0.
Error while mapping shared library sections:
libGLESv2.so: Undefined error: 0.
Error while mapping shared library sections:
libsurfaceflinger_client.so: Undefined error: 0.
Error while mapping shared library sections:
libgui.so: Undefined error: 0.
Error while mapping shared library sections:
libcamera_client.so: Undefined error: 0.
Error while mapping shared library sections:
libdvm.so: Undefined error: 0.
Error while mapping shared library sections:
libGLESv1_CM.so: Undefined error: 0.
Error while mapping shared library sections:
libETC1.so: Undefined error: 0.
Error while mapping shared library sections:
libsecril-client.so: Undefined error: 0.
Error while mapping shared library sections:
libsisodrm.so: Undefined error: 0.
Error while mapping shared library sections:
libsonivox.so: Undefined error: 0.
Error while mapping shared library sections:
libstagefright_foundation.so: Undefined error: 0.
Error while mapping shared library sections:
libmedia.so: Undefined error: 0.
Error while mapping shared library sections:
libnfc_ndef.so: Undefined error: 0.
Error while mapping shared library sections:
libusbhost.so: Undefined error: 0.
Error while mapping shared library sections:
libhwui.so: Undefined error: 0.
Error while mapping shared library sections:
libbluedroid.so: Undefined error: 0.
Error while mapping shared library sections:
libdbus.so: Undefined error: 0.
Error while mapping shared library sections:
libandroid_runtime.so: Undefined error: 0.
Error while mapping shared library sections:
libvorbisidec.so: Undefined error: 0.
Error while mapping shared library sections:
libstagefright_yuv.so: Undefined error: 0.
Error while mapping shared library sections:
libdrmframework.so: Undefined error: 0.
Error while mapping shared library sections:
libstagefright_amrnb_common.so: Undefined error: 0.
Error while mapping shared library sections:
libstagefright_enc_common.so: Undefined error: 0.
Error while mapping shared library sections:
libstagefright_avc_common.so: Undefined error: 0.
Error while mapping shared library sections:
libstagefright.so: Undefined error: 0.
Error while mapping shared library sections:
libmtp.so: Undefined error: 0.
Error while mapping shared library sections:
libmedia_jni.so: Undefined error: 0.
Error while mapping shared library sections:
libbcc.so: Undefined error: 0.
Error while mapping shared library sections:
libRS.so: Undefined error: 0.
Error while mapping shared library sections:
librs_jni.so: Undefined error: 0.
Error while mapping shared library sections:
libharfbuzz.so: Undefined error: 0.
Error while mapping shared library sections:
libwebcore.so: Undefined error: 0.
Error while mapping shared library sections:
libnvos.so: Undefined error: 0.
Error while mapping shared library sections:
libnvrm.so: Undefined error: 0.
Error while mapping shared library sections:
libnvrm_channel.so: Undefined error: 0.
Error while mapping shared library sections:
libnvddk_2d_v2.so: Undefined error: 0.
Error while mapping shared library sections:
gralloc.tegra.so: Undefined error: 0.
Error while mapping shared library sections:
libnTrackFramework.so: Undefined error: 0.
Error while mapping shared library sections:
libnTrackWinOnMac.so: Undefined error: 0.
Error while mapping shared library sections:
libnTrackDSPDll.so: Undefined error: 0.
Error while mapping shared library sections:
libnTrackNativeControls.so: Undefined error: 0.
Error while mapping shared library sections:
libnTrackEngine.so: Undefined error: 0.
Error while mapping shared library sections:
libgl2jni.so: Undefined error: 0.
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
warning: shared library handler failed to enable breakpoint
0xaff0c174 in ?? ()
gdb: Unable to get location for thread creation breakpoint: requested event is not supported
(no debugging symbols found)
gdb: Unable to get location for thread creation breakpoint: requested event is not supported
gdb: Unable to get location for thread creation breakpoint: requested event is not supported
Killing inferior
/Users/flavio/MacDevel/nTrack/trunk/n-Track_EX/Android/AndroidTesting/jni/obj/local/armeabi/gdb.setup:4: Error in sourced command file:
Remote communication error: Connection reset by peer.
最佳答案
我遇到了同样的问题。原来问题是我在 $PROJECT_DIR/jni 文件夹中执行 ndk-gdb。向上移动一个级别并从 $PROJECT_DIR 执行修复断开连接。
关于android - Android和NDK下无法用gdb调试,启动Gdb导致App崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8636444/
假设我定义了一个 new gdb command其中包括别名。 import gdb import string class PrettyPrintString (gdb.Command):
是否可以使用 gdb 的 if 或 while 条件来测试 gdb 命令是否成功(而不是查询程序值或变量)? 现在为了清楚起见,我谈论的是 gdb 内置命令(即当您在 gdb 中键入 help 时出现
我只是使用 gdb 逐行逐行执行代码,以了解它是如何工作的以及它在做什么。我第一次这样做时效果很好,但现在下一个命令无法正常工作。有时它前进,有时它倒退。这没有意义。每次我这样做似乎都是相同的模式。下
我怎样才能运行类似 gdb -e path/to/exe -ex 'run --argnamae argvalue' 的东西? 让我们假设在过去一两年内有一个最新版本的 gfb。 Gdb 运行并打印响
我正在使用 gdb 调试程序,并且我想要命令的输出 $(perl -e 'print "A"x20') 作为我的论点。我怎样才能做到这一点?这样,论点将非常灵活。 最佳答案 您可以使用 run 命令,
我在 linux 上使用 gdb 版本 7.5.1,并试图使用诸如 $_memeq 之类的便利功能只是发现它显然不存在: Undefined command: "$_memeq". Try "help
我有: 正在运行的剥离二进制文件 总局 未剥离的二进制文件 我可以连接到运行剥离的二进制文件 (gdp -p PID)。如何将未剥离二进制文件中的符号提供给连接到正在运行的进程的 gdb? 最佳答案
我偶然发现了gdb的自动显示功能,该功能非常强大且方便。打电话后 (gdb) display/i $pc (gdb) display $rax 监视的值将在每个步骤后自动显示: (gdb) si 0x
我知道 Linux 等现代操作系统并不总是在应用程序最初链接的同一地址执行应用程序。但是,当调试器开始四处查看时,它需要知道原始链接地址和最终执行地址之间的关系。 GDB如何计算偏移量? 澄清:我不是
我想知道是否有可能从GDB本身获取已调试应用程序已打开但未关闭的文件/目录的列表? 当前,我设置了一个断点,然后使用lsof这样的外部程序来检查打开的文件。 但是这种方法确实很烦人。 环境:Debia
我想执行非常简单的命令 print var1, var2, var3, var4 在 gdb 中不时检查变量的值。 我不想使用显示,因为它会扰乱我的 View 。 我该如何做到这一点?现在我能做的就是
这个问题已经有答案了: gdb scripting: execute commands at selected breakpoint (1 个回答) 已关闭 8 年前。 我需要检查一个变量以确定它是否
在命令行下,我知道使用 echo $?给我退出代码。在gdb中,我使用“r”来运行程序,程序终止,那么gdb是如何得到这个退出码的呢? gdb 里面有什么命令吗? 谢谢! 最佳答案 当程序退出时,gd
我遇到了核心,无法从中获取回溯。我有两个问题。 我可以从以下位置找出导致崩溃的行或崩溃发生的位置吗列出命令输出? 否则如何处理。我应该将 heuristic-fence-post 设置为多少才能得到一
调试时加断点,运行bt可以看到栈帧。 通过运行信息寄存器选择帧时,可以看到特定帧上的寄存器值。 例如,考虑在第 5 帧设置断点。当断点被击中时,进入第 3 帧,可以看到查看寄存器值。 在第 5 帧设置
gdb 如何打印结构?来自 zengr 在 how does gdb work? 引用的“GDB 内部”文档看起来 GDB 使用 BFD 库从一个或多个符号表加载符号。如果是这种情况,gdb 怎么知道
我只是使用 gdb 逐行逐行执行代码,以了解它是如何工作的以及它在做什么。我第一次这样做时效果很好,但现在下一个命令无法正常工作。有时它前进,有时它倒退。这没有意义。每次我这样做似乎都是相同的模式。下
当我执行以下命令时,我得到不同的 function() 地址 (gdb) 中断函数() function() 0x804834a 处的断点 1。 (gdb) 打印函数() function() 0x8
我已经安装了 (OSX Mojave 10.14.6.) Eclipse CDT 和 GNU MCU Eclipse plugin最后 GNU Tools for ARM .我的目标是使用 GDB (
我必须对文件(main 和 functions)进行 cpp,然后让它们构建一个 exe 文件(代码)和两个目标文件(main.o 和 functions.o)。 如何从 gdb 命令行调试特定文件“
我是一名优秀的程序员,十分优秀!