当前位置 博文首页 > 庆述倾述:/data/anr/traces.txt文件定位简单错误

    庆述倾述:/data/anr/traces.txt文件定位简单错误

    作者:[db:作者] 时间:2021-08-05 12:44

    首先我们先制造一个简单的ANR错误,让它自动生成日志。

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            while(true){
                try {
                    Thread.sleep(500);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    });
    

    点击按钮后,在Device FIle Explorer中就可以看到下面:
    在这里插入图片描述
    我们打开日志文件可以看到前面有一个main线程,我们可以看见:

    "main" prio=5 tid=1 Sleeping
      | group="main" sCount=1 dsCount=0 flags=1 obj=0x73e46978 self=0xeded9000
      | sysTid=25541 nice=-10 cgrp=default sched=0/0 handle=0xf285a514
      | state=S schedstat=( 415701700 137679390 275 ) utm=39 stm=2 core=3 HZ=100
      | stack=0xff256000-0xff258000 stackSize=8MB
      | held mutexes=
      at java.lang.Thread.sleep(Native method)
      - sleeping on <0x0f52739f> (a java.lang.Object)
      at java.lang.Thread.sleep(Thread.java:373)
      - locked <0x0f52739f> (a java.lang.Object)
      at java.lang.Thread.sleep(Thread.java:314)
      at com.weizu.myapplication.MainActivity$1.onClick(MainActivity.java:49)
      at android.view.View.performClick(View.java:6294)
      at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:992)
      at android.view.View$PerformClick.run(View.java:24770)
      at android.os.Handler.handleCallback(Handler.java:790)
      at android.os.Handler.dispatchMessage(Handler.java:99)
      at android.os.Looper.loop(Looper.java:164)
      at android.app.ActivityThread.main(ActivityThread.java:6494)
      at java.lang.reflect.Method.invoke(Native method)
      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
    

    第一个报错的位置at java.lang.Thread.sleep(Native method)正好是原因。

    cs
    下一篇:没有了