Android Lollipop 中的信号 33 是什么?
What is signal 33 in Android Lollipop?
我最近观察到信号 33 崩溃,但找不到相关解释。该信号通常应用于 system_server 进程,但我找不到有关为什么应用它或哪个进程应用它的任何详细信息。此外,这在 Lollipop 之前的任何版本中都从未见过。那么,从 Lollipop 开始,框架发生了哪些变化?
来自 Lollipop 的 Android 保留信号 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 是其中一个项目。
我最近观察到信号 33 崩溃,但找不到相关解释。该信号通常应用于 system_server 进程,但我找不到有关为什么应用它或哪个进程应用它的任何详细信息。此外,这在 Lollipop 之前的任何版本中都从未见过。那么,从 Lollipop 开始,框架发生了哪些变化?
Android 保留信号 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 是其中一个项目。