unw_init_remote 失败 UNW_EBADREG

unw_init_remote failed with UNW_EBADREG

在android,我在收集特定native进程的trace时,观察到该进程的特定线程的backtrace没有被收集(使用libunwind来收集backtrace)。

第一次尝试:

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。但是我无法弄清楚这个错误代码到底是什么时候返回的?

感谢任何指点!

获得了有关该线程的回溯展开为何失败的更多信息 - 线程处于 "Disk Sleep" 或 "D" 状态。