如何在Android中为子线程生成核心转储

时间:2011-10-14 12:51:26

标签: android linux multithreading webkit coredump

当我通过Android浏览器访问网站时,浏览器被阻止了。浏览器进程有两个线程,一个是主UI线程(tid 2050),另一个是由UI线程创建的工作线程(tid 2060)。我发现UI线程没问题,但子线程被阻止了。

我可以通过以下方式获取子线程的java堆栈信息: 杀-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)?

BTW,当我尝试时: 杀死-11 2050 我可以在adb日志中获取主线程(2050)的本机核心转储。 但该命令对子线程无效。

我非常感谢任何建议或想法。

0 个答案:

没有答案