其他分享
首页 > 其他分享> > 什么是Android Lollipop中的信号33?

什么是Android Lollipop中的信号33?

作者:互联网

我最近观察到信号33崩溃,但无法找到解释.该信号通常应用于system_server进程,但我找不到有关应用它的原因或应用该进程的详细信息.此外,这在Lollipop之前的任何版本中都没有出现过.那么,从Lollipop开始对框架做了哪些改变?

解决方法:

来自Lollipop的Android和up保留信号33(__SIGRTMIN 1),用于发送一个名为THREAD_SIGNAL的信号,如您在https://android.googlesource.com/platform/system/core/+/android-5.0.0_r2/libbacktrace/BacktraceThread.h#34中所见

它应用信号处理程序以获取给定线程的回溯信息(寄存器,最重要的是线程堆栈指针).

检查https://android.googlesource.com/platform/system/core/+/android-5.0.0_r2/libbacktrace/BacktraceThread.cpp#158以了解它如何设置信号处理程序并传递信号.

通常,debuggerd是在进程崩溃时检索回溯的那个,但是也有可用于任何想要检索进程回溯信息的项目的包装器,例如用于转储进程的状态以进行性能分析. ART是这个项目之一.

标签:android,android-source,signals,android-framework
来源: https://codeday.me/bug/20190702/1358588.html