我有 ADT(Eclipse + ADT 插件)+ CDT + NDK + Android SDK。
我正在使用“调试为”-->“Android native 应用程序”调试 Android 应用程序,它工作正常,并加载我的符号,但只有它们。

如何在堆栈跟踪中查看系统函数名称(符号)?

我从 gdb 得到了这个:

warning: Could not load shared library symbols for 73 libraries, e.g. /system/bin/linker.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?
warning: Unable to find dynamic linker breakpoint function.
GDB will retry eventurally.  Meanwhile, it is likely
that GDB is unable to debug shared library initializers
or resolve pending breakpoints after dlopen().

执行 info sharedlibrary 时,输出为:
From        To          Syms Read   Shared Object Library
                        No          /system/bin/linker
0x400339b8  0x40062a38  Yes         /<path_to_my_local_folder>/mylib1.so
                        No          libstdc++.so
                        No          libm.so
                        No          liblog.so
                        No          libcutils.so
                        No          libgccdemangle.so
                        No          libcorkscrew.so
                        No          libz.so
                        No          libutils.so
                        No          libbinder.so
                        No          libemoji.so
                        No          libjpeg.so
                        No          libexpat.so
                        No          libstlport.so
                        No          libGLES_trace.so
                        No          libEGL.so
                        No          libGLESv2.so
                        No          libskia.so
                        No          libandroidfw.so
                        No          libnativehelper.so
                        No          libnetutils.so
                        No          libhardware.so
                        No          libsync.so
                        No          libui.so
                        No          libgui.so
                        No          libcamera_metadata.so
                        No          libcamera_client.so
                        No          libgabi++.so
                        No          libicuuc.so
                        No          libicui18n.so
                        No          libsqlite.so
                        No          libselinux.so
                        No          libdvm.so
                        No          libGLESv1_CM.so
                        No          libETC1.so
                        No          libwpa_client.so
                        No          libhardware_legacy.so
                        No          libsonivox.so
0x40997a38  0x40a05ac8  Yes         <path_to_my_local_folder>/mylib2.so
0x40a47ec0  0x40a5cca0  Yes         <path_to_my_local_folder>/mylib3.so
                        No          libstagefright_foundation.so
                        No          libspeexresampler.so
                        No          libaudioutils.so
                        No          libmedia.so
                        No          libusbhost.so
                        No          libharfbuzz_ng.so
                        No          libLLVM.so
                        No          libbcinfo.so
                        No          libbcc.so
                        No          libRS.so
                        No          libRScpp.so
                        No          libhwui.so
                        No          libandroid_runtime.so
                        No          libjavacore.so
                        No          libdrmframework.so
                        No          libdrmframework_jni.so
                        No          libstagefright_omx.so
                        No          libstagefright_yuv.so
                        No          libvorbisidec.so
                        No          libstagefright_enc_common.so
                        No          libstagefright_avc_common.so
                        No          libstagefright.so
                        No          libmtp.so
                        No          libexif.so
                        No          libstagefright_amrnb_common.so
                        No          libmedia_jni.so
                        No          libexif_jni.so
                        No          libsoundpool.so
                        No          librs_jni.so
                        No          libandroid.so
                        No          libchromium_net.so
                        No          libharfbuzz.so
                        No          libwebcore.so
0x4c715e90  0x4c778798  Yes         <path_to_my_local_folder>/mylib4.so
0x4c79459c  0x4c79c7dc  Yes         <path_to_my_local_folder>/mylib5.so
0x4c7af118  0x4c830994  Yes         <path_to_my_local_folder>/mylib6.so
0x4c905a50  0x4c989c10  Yes         <path_to_my_local_folder>/mylib7.so
                        No          libchromium.so
                        No          libstagefright_chromium_http.so

最佳答案

不,您不能使用没有来源的设备来执行此操作。如果从源代码树构建系统,则可以拥有所有符号。

关于android - 在Eclipse中调试时如何查看android SDK系统库的符号?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19794585/

10-09 15:41
查看更多