1. 程式人生 > >android 生成的.so 除錯方法

android 生成的.so 除錯方法

readelf

顯示目標ELF檔案的資訊,比如信賴庫,頭資訊,段資訊等。

addr2line

使用者程序崩潰時核心會記錄一些基本的除錯資訊,如果程序執行的ELF檔案包含除錯符號,就可以通過addr2line找到原始檔中哪一行出問題。我在除錯Android的VM崩潰問題時使用到了這個工具(詳細過程參考這裡http://blog.csdn.net/a345017062/archive/2011/05/04/6394864.aspx

nm

列出目標檔案的符號清單,當沒有輸入檔名時,預設為a.out。

size

顯示一個目標檔案或者連結庫檔案中的目標檔案的各個段的大小,當沒有輸入檔名時,預設為a.out。

objdump

它主要是檢視ELF目標檔案的內容資訊

ranlib

對靜態庫的符號索引表進行更新

strip

通過除去繫結程式和符號除錯程式使用的資訊,減少擴充套件公共物件檔案格式(XCOFF)的物件檔案的大小

gprof

可以顯示程式執行的“flat profile”,包括每個函式的呼叫次數,每個函式消耗的處理器時間。也可以顯示“呼叫圖”,包括函式的呼叫關係,每個函式呼叫花費了多少時間。

strings

列出檔案中的可列印字串

gprof使用介紹

strip 命令

ranlib的用法

linux 下使用 objdump 反彙編

readelf命令

nm命令介紹

size 命令的用法

android 除錯中 addr2line 命令的使用

linux debug : addr2line追蹤出錯地址

ldd 顯示可執行模組的dependency

相關推薦

android 生成的.so 除錯方法

readelf 顯示目標ELF檔案的資訊,比如信賴庫,頭資訊,段資訊等。 addr2line 使用者程序崩潰時核心會記錄一些基本的除錯資訊,如果程序執行的ELF檔案包含除錯符號,就可以通過addr2line找到原始檔中哪一行出問題。我在除錯Android的VM崩潰問題時使用到了這個工具(詳細過程參考這裡ht

android adb wifi除錯方法,usb用於otg除錯

android adb網路除錯 Android中使用WIFI來連線ADB 簡單 windows下進入android的終端:直接cmd->adb shell 在ubuntu下進入android的終端與windows下稍微不同,步驟: 1、ubuntu下開啟一個終端

Android--生成縮圖------方法總結

在Android中對大圖片進行縮放真的很不盡如人意,不知道是不是我的方法不對。下面我列出3種對圖片縮放的方法,並給出相應速度。請高人指教。 第一種是BitmapFactory和BitmapFactory.Options。 首先,BitmapFactory.Opti

android真機除錯方法

1. 設定android手機為USB除錯模式。步驟: menu---> 設定 ---> 應用程式 ---> 開發 , 選擇【USB除錯】 2. 用USB連線手機和電腦,並確保成功。步驟: 在windows下執行c:/adb devices, 檢視手機是否已

android 調用c文件生成so庫並調用

dem ges classes lib fault rms img div 節點 公司需要做一個sdk,裏面需要用到別人寫的c文件,第一次做,各種百度,各種學習,現在做一個小總結: 一、新建一個project:例 ExampleDemo, 包名為:com.demo.exam

JNI入門教程1---Android studio 下JNI程式設計例項並生成so

參考地址: https://www.cnblogs.com/jymblog/p/5526865.html                   https://www.jianshu.com/p/a

android 除錯方法

8大你不得不知的Android除錯工具 我們今天將討論的是8大你不得不知的Android除錯工具,這些工具部分屬於系統自帶,也是一種方式方法,希望對大家有所幫助。 作者:佚名來源:部落格園|2010-08-27 10:40  移動端  收藏   分享 1. 檢視當前

Android下列印除錯堆疊方法

列印堆疊是除錯的常用方法,一般在系統異常時,我們可以將異常情況下的堆疊打印出來,這樣十分方便錯誤查詢。實際上還有另外一個非常有用的功能:分析程式碼的行為。android程式碼太過龐大複雜了,完全的靜態分析經常是無從下手,因此通過列印堆疊的動態分析也十分必要。 Android列印堆疊的

Android生成縮圖的方法

Android9.0 之前,使用BitmapFactory生成縮圖。 舉例:使用ThumbnailTask生成縮圖,GridViewAdapter顯示縮圖 static class ThumbnailTask extends AsyncTask<Object, LoadedImag

android studio編譯c生成.so檔案

今天練習了用studio編譯c生成.so檔案。 一、首先是配置NDK(以下是以我自己的路徑為例) 二、環境的搭建 設定ndk路徑 成功之後我們可以在local.properties檔案中看到:

android應用空間的除錯方法

下面都是android應用層空間的除錯方法總結 1 android native 和後臺服務的除錯方法 android系統中除錯Java非常容易,一般遇到錯誤都在logcat中打印出錯時函式的呼叫關係,和出錯的具體行數。而C庫或是可執行的後臺服務中出錯時只看到一些二進位制

Android WebView 除錯方法

除錯Android WebView中的h5頁面,本人通常就是通過alert來定位問題,效率低且無法直接除錯樣式或打斷點,可謂是事倍功半。本文介紹一下我在專案中使用的新方法,能夠通過chrome的開發工具在原生 Android 應用中除錯 WebView。 前提

android studio NDK使用,編譯c生成.so實踐記錄

開發環境,android studio 2.1.2,SDK環境和NDK環境 SDK不說了,NDK環境配置網上也有很多,這裡就簡單記錄下: 1 下載NDK並安裝到電腦 D:\android\android-ndk-r11c 2 android studio中右鍵專案進入選單

通過cmake在Android中呼叫c語言,且生成so檔案

1、  新建JniUtils類實現native方法   2、  在build中執行clean project 再rebuild project 生成class檔案。 注意:最新版本的AndroidStudio中classes檔案的路徑是在\app\build\inter

安卓防破解自用筆記(1)android studio 開發生成so檔案

1. 我這使用的是mac book pro,安裝的Android studio版本在此時此刻還算可以用, 可能不是最新的,但我不要求一定要最新的。為了防止今後看到這個文章跟自己的出現的問題無法對上,我先登記一下我使用的系統版本及as版本號。 2. 在官方或其它渠道下載一

Android Studio生成簽名APK方法

打包分debug版和release包,通常所說的打包指生成release版的apk,release版的apk會比debug版的小,release版的還會進行混淆和用自己的keystore簽名,以防止別人反編譯後重新打包替換你的應用。 apk身份證就是我們的“.jks”檔案。所以這個j

android studio 編譯C生成.so檔案出現java.lang.UnsatisfiedLinkError

參考文章:http://www.2cto.com/kf/201607/526887.html 這篇文章作者講得很好了,但是我照著做的時候還是不能正常執行程式,總是報java.lang.UnsatisfiedLinkError,其實就是couldn't find "libhuazict.so"

Mac系統Android Studio獲取除錯版及開發版SHA1方法

除錯版: 1.直接在Android Studio工程中開啟Terminal: 2.輸入keytool -list -v -keystore ~/.android/debug.keystore 回車

Android逆向中的常用除錯方法和使用程式碼總結

0x01 smail語言的調式方法 a.動態分析法,利用log日誌輸入或者toast輸出。 利用Toast進行除錯 java程式碼 Toast.makeText(this, "Toast text", 1).show(); smail程式碼 const-string

Android 串列埠通訊自定義生成so檔案

串列埠通訊Android裝置通過串列埠與其他裝置進行通訊的一種方式,對於Android串列埠操作基本上就是對應串列埠檔案的讀寫,基本思路就是: 1.對串口檔案進行配置(波特率等),開啟串列埠檔案 2.讀寫串列埠 3.關閉串列埠檔案 但是這裡需要注意的是Android中讀寫串列