Как создать дамп ядра для дочернего потока в Android - PullRequest
1 голос
/ 14 октября 2011

Когда я зашел на сайт через браузер Android, браузер был заблокирован. Процесс браузера имел два потока, один из которых был основным потоком пользовательского интерфейса (tid 2050), другой был рабочим потоком (tid 2060), который был создан потоком пользовательского интерфейса. Я обнаружил, что поток пользовательского интерфейса был в порядке, но дочерний поток был заблокирован.

Я могу получить информацию о стеке java дочернего потока: убить -3 2050

/ данные / апг / 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)?

Кстати, когда я пытался: убить -11 2050 Я могу получить дамп основной памяти основного потока (2050) в журнале ADB. но команда не работает для дочернего потока.

Я был бы очень благодарен за любые советы или идеи.

...