kill -3 pid

背景 今天在开发工程中遇到,负责的应用在输入暗码进入后白屏,抓取日志后一切都是正常的。一头雾水。。。。。。 排查: 因为应用白屏,可以判断此时应用是处于一个

背景

今天在开发工程中遇到,负责的应用在输入暗码进入后白屏,抓取日志后一切都是正常的。一头雾水。。。。。。

 

排查:

因为应用白屏,可以判断此时应用是处于一个block中,

1、启动该应用

2、adb shell

3、ps -A |grep "packagename"

4、kill -3 pid

5、cat /data/anr/xxfile

可以看到文件中显示有个代理文件locked了。

扩展

这里主要是学习了 kill -3 pid ,这个命令可以打印出 system service 进程各线程的 java 调用栈信息。然后在 /data/anr/ 下可以找到生成的文件。

 

================================================================================================

此次事故原因其实是因为合入外部的代码导致selinux打开,导致了第三方的proxy block,因为我的应用启动时就在初始化的时候去调用第三方的代理,所以出现了白屏的现象。