#android #linux #multithreading #webkit #coredump
#Android #linux #многопоточность #webkit #coredump
Вопрос:
Когда я заходил на веб-сайт с помощью браузера Android, браузер был заблокирован. Процесс браузера состоял из двух потоков: один был основным потоком пользовательского интерфейса (tid 2050), другой был рабочим потоком (tid 2060), который был создан потоком пользовательского интерфейса. Я обнаружил, что поток пользовательского интерфейса был в порядке, но дочерний поток был заблокирован.
Я могу получить информацию о стеке Java дочернего потока с помощью: kill -3 2050
/data/anr/traces.txt
...
"WebViewCoreThread" prio=5 tid=9 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x43d54e58 self=0x236408
| sysTid=2060 nice=0 sched=0/0 cgrp=unknown handle=2319688
at android.webkit.LoadListener.nativeAddData(Native Method)
at android.webkit.LoadListener.commitLoad(LoadListener.java:1219)
at android.webkit.LoadListener.handleMessage(LoadListener.java:208)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:621)
at java.lang.Thread.run(Thread.java:1096)
Могу ли я также получить собственный дамп ядра дочернего потока (2060)?
Кстати, когда я попытался: kill -11 2050, я могу получить собственный дамп ядра основного потока (2050) в журнале adb. но команда не сработала для дочернего потока.
Я был бы очень благодарен за любые советы или идеи.