1.一般要查看進程當前堆棧
kill -3 [pid] //trace生成到/data/anr/trace.txt
2.當進程已經死鎖時;發送kill -3進程無法收到,kill -11或-9由系統直接幹掉進程、會破壞現場
debugged -b [pid]
不是自旋鎖(忙等鎖),所以、CPU佔用率不高。
3.ddms對java堆棧的打印
ddms使用
4.抓取log
ps -t [pid]
logcat -v thread
5.進程垮掉以後生成的tomstones
/data/tomstones/
6.Linux內核級死機堆棧
/var/core_dump
7.dumpsys
dumpsys window
dumpsys input
dumpsys activity activities
8.vim使用
sed -ne '/\( 2428\)/p' 20160202.log > cyber.log
9.打印java堆棧
Exception e = new Exception("this is a log");
e.printStackTrace();