android調試so文件記錄(一)

android調試so文件記錄(一)


1:保存日誌帶so的部分 例如:

06-08 16:02:42.651 3085-3085/? A/DEBUG:     #00 pc 0008a42c  /data/app/com.android.lvs.lvsandroid-2/lib/arm/libLvsAndroidInterfaceInVideoDispose.so
06-08 16:02:42.651 3085-3085/? A/DEBUG:     #01 pc 0008c485  /data/app/com.android.lvs.lvsandroid-2/lib/arm/libLvsAndroidInterfaceInVideoDispose.so (Java_com_android_lvs_androidjni_LvsAndroidInterfaceInVideoDispose_lvs_1interface_1write+24)
06-08 16:02:42.651 3085-3085/? A/DEBUG:     #02 pc 00029119  /data/data/com.android.lvs.lvsandroid/cache/slice-slice_1-classes.dex (offset 0x22000) (int com.android.lvs.androidjni.LvsAndroidInterfaceInVideoDispose.lvs_interface_write(java.util.HashMap, java.util.HashMap)+116)
06-08 16:02:42.651 3085-3085/? A/DEBUG:     #03 pc 0004a77b  /data/data/com.android.lvs.lvsandroid/cache/slice-slice_7-classes.dex (offset 0x44000) (void com.android.lvs.lvsandroid.Lvs_Publish_Interface_Sdk_Android$2.run()+1310)
06-08 16:02:42.651 3085-3085/? A/DEBUG:     #04 pc 02f61849  /system/framework/arm/boot.oat (offset 0x2f44000)
這樣的日誌 指定具體的so文件

2:cd到生成so調試文件的位置例如:Lvs_In_Video_Dispose_Module/obj/local/armeabi-v7a 這個目錄下會有個libLvsAndroidInterfaceInVideoDispose.so,注意是調試的目錄下。

3:執行命令:addr2line -f -e libLvsAndroidInterfaceInVideoDispose.so 0008a42c 最後的棧地址和上面的日誌對應

4:會出現如下:
_ZL26Jobject2Module_Info_2writeP7_JNIEnvP8_jobjectS2_P13Module_Info_ti11UseInfoType.isra.0.constprop.5
/home/zhuweigang/work/android/lvs_android_ndk/Lvs_In_Video_Dispose_Module/jni/../../Lvs_In_Video_Dispose_Module/src/android/LvsAndroidInterfaceInVideoDispose.cpp:498 日誌,

說明498行有問題。



如有錯誤請指正:
交流請加QQ羣:62054820
QQ:379969650.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章