這樣就可以看到 strace 到所有的 dvm 程式, 並且包含之後新開出來的 dvm
不過要注意的是需要 su 權限不然會看到下列的訊息
而以下為方便說明起見假設 zygote 的 pid 為 84
shell@android:/ $ strace -f -F -p 84 attach: ptrace(PTRACE_ATTACH, ...): Operation not permitted
正常啟動則會像下面這樣開始吐一些訊息
shell@android:/ $ strace -f -F -p 84 Process 1339 attached with 4 threads - interrupt to quit [pid 1339] --- SIGSTOP (Stopped (signal)) @ 0 (0) --- [pid 1339] --- SIGSTOP (Stopped (signal)) @ 0 (0) --- [pid 1339] setup() = -1 ETIMEDOUT (Connection timed out) [pid 1339] msgget(0x1, 0x4e07cd48, 0, 0x4e07cd48) = 0 [pid 1339] msgget(0x1, 0x4e07cd28, 0x1, 0x1) = 0 [pid 1339] recv(6604760, <unfinished ...=""> [pid 1338] --- SIGSTOP (Stopped (signal)) @ 0 (0) --- [pid 1338]
輸出可能會有點雜亂, 大致的原則是程式開下去就會噴出一堆紀錄, 所以最好先輸出成檔案, 在拉到電腦端分析.
shell@android:/ $ strace -f -F -p 84 &>/sdcard/strace.log
拉回電腦端就可以先用搜索 apk 關鍵字來鎖定你的程式的 pid 多少, 再配合 grep 即可快速濾出需要的資訊摟~
沒有留言:
張貼留言