什么是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