在android上,在收集特定本机进程的跟踪时,我观察到没有收集进程的特定线程的回溯(libunwind用于收集回溯)。
12-29 20:47:20.902 13088 13088 W libbacktrace: virtual bool UnwindPtrace::Unwind(size_t, ucontext_t *): unw_init_remote failed -3
12-29 20:47:20.902 13088 13088 E DEBUG : Unwind failed: tid = 1544: Setup failed
12-29 20:47:54.683 13135 13135 W libbacktrace: virtual bool UnwindPtrace::Unwind(size_t, ucontext_t *): unw_init_remote failed -3
12-29 20:47:54.683 13135 13135 E DEBUG : Unwind failed: tid = 1544: Setup failed
从文档来看,-3
似乎是UNW_EBADREG。但我无法弄清楚何时返回此错误代码?
任何指针赞赏!
获得了一些关于为什么回溯unwind的线程失败的信息 - 线程处于“磁盘休眠”或“D”状态。