看板 Soft_Job 關於我們 聯絡資訊
我最近在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
anguso: Thread.currentThread().getStackTrace() 02/26 00:01
whyso: java layer用ddms 內的traceview 不就可以看到完整資訊了? 02/26 00:44
iincho: 因為binder的特性,所以沒辦法 02/26 09:37
iincho: 你要看的code可能分布在很多不同的process... 02/26 09:37
iincho: 喔看錯,是講JNI... 02/26 09:38
iincho: 這個你暴力搜尋一下native call的宣告就有了啊... 02/26 09:38
iincho: 至於Java的部份,直接看宣告插code比用debbugger快.... 02/26 09:40
KASUGAOSAKA: 用source insight 查詢你要找的native call 02/27 10:23