簡體   English   中英

Android / GDB-頭痛-無法找到調試符號

[英]Android / GDB - Headaches - cannot find debug symbols

GDB開始讓我頭疼。 GDB的工作方式似乎有些奇怪。

obj / local / armeabi /包含項目中未剝離的所有.so文件的列表,以及包含多個.o和.od文件的名為objs-debug的目錄。

啟動ndk-gdb時,似乎.so文件都沒有被加載。

我嘗試手動更改gdb.setup文件,但是顯然在啟動gdbserver時,該文件將替換為其自己的版本;)

nm -a -C on libmylibary.so揭示了大量符號。

它似乎沒有加載任何.so文件,甚至沒有在objs-debug文件夾中查找。 啊!

一如既往,我們將不勝感激。

[root@xyz SviCore]# /Android/ndk/ndk-gdb --start --force --verbose
Android NDK installation path: /Android/ndk
Using default adb command: /Android/sdk/platform-tools/adb
ADB version found: Android Debug Bridge version 1.0.26
Using final ADB command: '/Android/sdk/platform-tools/adb'
Using auto-detected project path: .
Found package name: com.svi.core
ABIs targetted by application: armeabi
Device API Level: 10
Device CPU ABIs: armeabi-v7a armeabi
Compatible device ABI: armeabi
Found debuggable flag: true
Found device gdbserver: /data/data/com.svi.core/lib/gdbserver
Using gdb setup init: /root/XXXX/YYYY/ZZZZ/android/SviCore/libs/armeabi/gdb.setup
Using toolchain prefix: /Android/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-
Using app out directory: /root/XXXX/YYYY/ZZZZ/android/SviCore/obj/local/armeabi
Found data directory: '/data/data/com.svi.core'
Found first launchable activity: .SviCore
Launching activity: com.svi.core/.SviCore
## COMMAND: /Android/sdk/platform-tools/adb shell am start -n com.svi.core/.SviCore
## COMMAND: /Android/sdk/platform-tools/adb shell sleep 2
Found running PID: 2351
Launched gdbserver succesfully.
Setup network redirection
## COMMAND: /Android/sdk/platform-tools/adb forward tcp:5039 localfilesystem:/data/data/com.svi.core/debug-socket
## COMMAND: /Android/sdk/platform-tools/adb shell run-as com.svi.core lib/gdbserver +debug-socket --attach 2351
## COMMAND: /Android/sdk/platform-tools/adb pull /system/bin/app_process /root/XXXX/YYYY/ZZZZ/android/SviCore/obj/local/armeabi/app_process
Attached; pid = 2351
Listening on sockaddr socket debug-socket
65 KB/s (5720 bytes in 0.085s)
Pulled app_process from device/emulator.
## COMMAND: /Android/sdk/platform-tools/adb pull /system/lib/libc.so /root/XXXX/YYYY/ZZZZ/android/SviCore/obj/local/armeabi/libc.so
917 KB/s (273940 bytes in 0.291s)
Pulled libc.so from device/emulator.
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=x86_64-linux-gnu --target=arm-elf-linux".
(no debugging symbols found)

嘗試將以下內容添加到您的gdb.setup文件中:

 set solib-search-path ./obj/local/armeabi

看來錯誤消息符號並不重要。 在這種情況下,請確保使用-O0或-O1和-g -ggdb編譯共享庫,以幫助gdb在編譯共享庫后拾取這些調試符號。

如果您在運行問題(在gdb命令行上)時使用“ info sharedLibrary”,“ where”或“ backtrace”來幫助確定gdb是否真正能夠找到它在哪里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM