host:本地電腦 target:模擬器 or 手機真機android
一、host從ida目錄中拷貝android_server到target目錄中,而後啓動android_server
shell
$ ./android_server
二、host中接口轉發app
$ adb forward tcp:23946 tcp:23946
三、host中以debug方式啓動apptcp
$ adb shell am start -D -n com.example.linkshell/com.letv.Porxy.MainActivity
四、host中ida選擇調試進程,設置斷點,而後繼續運行
函數
五、host中運行appspa
$ jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1 ,port=8899
調試期間結束進程debug
$ adb shell ps | grep com.myapp | awk '{print $2}' | xargs adb shell kill
經常使用斷點:調試
一、system.loadlibrary對應native層libdvm.so->dvmLoadNativeCode 二、JNILOAD中註冊JNI函數Libdvm.so->jniRegisterNativeMethods