[請益] trace android framework

看板Soft_Job作者 (yshihyu)時間9年前 (2015/02/25 23:34), 編輯推噓1(107)
留言8則, 4人參與, 最新討論串1/1
我最近在trace android framework 的 source code 不過我trace 部份在網路找不到資料而已是android L 那部份code 也沒有最新的資料 因為我目前trace code 遇到問題是卡在 trace 到一個點後我不知道它怎麼再往下去跑 看不出怎麼在往下call 往 native layer... 我目前想法是寫script把可是經過的所有 java檔案插入log , 之後在手機操作要trace的功能用adb logcat 紀錄操作過程的log 不知道這樣是否有更好作法? 因為我這樣作法算是有點暴力 , 我之前做android 搞native 可以用gdb remote 一步步trace , 不知道 android framework layer java 有辦法像用gdb 之類工具一步步trace code 流程嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.204.104 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1424878479.A.FAE.html

02/26 00:01, , 1F
Thread.currentThread().getStackTrace()
02/26 00:01, 1F

02/26 00:44, , 2F
java layer用ddms 內的traceview 不就可以看到完整資訊了?
02/26 00:44, 2F

02/26 09:37, , 3F
因為binder的特性,所以沒辦法
02/26 09:37, 3F

02/26 09:37, , 4F
你要看的code可能分布在很多不同的process...
02/26 09:37, 4F

02/26 09:38, , 5F
喔看錯,是講JNI...
02/26 09:38, 5F

02/26 09:38, , 6F
這個你暴力搜尋一下native call的宣告就有了啊...
02/26 09:38, 6F

02/26 09:40, , 7F
至於Java的部份,直接看宣告插code比用debbugger快....
02/26 09:40, 7F

02/27 10:23, , 8F
用source insight 查詢你要找的native call
02/27 10:23, 8F
文章代碼(AID): #1KxUkF-k (Soft_Job)