adb shell kill -3/SIGQUIT <pid>
可以在不发生ANR的情况下就打印指定进程的堆栈。如果嫌查找pid麻烦,可以使用adb shell killall -3 <processname>
. 或者和pidof
命令组合,比如打印Settings的堆栈可以使用如下命令:adb shell kill -3 `pidof com.android.settings`或者kill -3 $(pidof com.android.settings) 。产生的堆栈保存在/data/anr目录下。adb shell kill -19/SIGSTOP
可以停止(暂停,并不是杀掉)进程,过一会儿就会产生ANR,可以发送18/SIGCONT恢复执行。adb shell kill -9/SIGKILL
杀掉进程。