2015-01-08 94 views
6

我正在尝试调试设备上的应用程序,并且在调试程序中遇到了一些问题。我试图测试记录,看它是否会写入logcat的,像这样:在Android Studio中未显示日志和崩溃堆栈跟踪

Log.d("MyActivity", "Testing logging..."); 

但什么也不显示在logcat中与app: com.myapp.debug过滤器。它出现时,我只需通过字符串过滤器(使用我的应用程序名称),但该条目看起来是这样的:

01-08 13:45:07.468 29748-29748/? D/MyActivity﹕ Testing logging... 

这是否问号意味着,在应用程序的东西是没有得到通过传递给调试器?这可能与我的调试器的第二个问题有关:

我一直在调试崩溃,每次它发生时,手机只显示'应用程序没有响应'消息,然后关闭当前活动,断开调试器,并且应用程序会继续运行以前的活动。没有堆栈跟踪,没有关于崩溃的信息,什么都没有。有什么我需要在Android Studio中设置才能使其工作?

+4

我经常发现的基于包过滤阻止表示logcat中,由于某种原因,日志输出。为了诊断您的ANR,我建议:删除logcat中的所有过滤,并将日志级别切换到警告(而不是错误)。然后滚动浏览输出以查看ANR上是否有任何细节显示。 – stkent

+0

我不确定,但我有类似的问题。只需单击运行 - >恢复.. –

+0

我有一个与AS 1.0类似的问题,当我通过我的应用程序包名进行筛选时,我在Logcat中看不到任何内容。卸下过滤器可显示设备中的所有内容。 –

回答

4

我认为这是相同的adb或filer问题。 起初删除所有过滤器。 重新启动adb - 输入终端adb kill-server & & adb start-server。

+0

奇怪这保存 –

+0

感谢您指出了过滤器,它似乎我的过滤器被意外设置为Firebase,所以几乎没有日志出现在LogCat –

+0

@NeonWarge你救了我的一天!无论如何,为什么地狱是过滤器设置为firebase? – Ishaan

12

我也有这个麻烦,我找不到太好的答案。 相反,我做了一个工作,并与Thread.setDefaultUncaughtExceptionHandler()捕获错误并记录Log.e()

我用这个类来做到这一点。

public class ExceptionHandler implements java.lang.Thread.UncaughtExceptionHandler { 
    private final String LINE_SEPARATOR = "\n"; 
    public static final String LOG_TAG = ExceptionHandler.class.getSimpleName(); 

    @SuppressWarnings("deprecation") 
    public void uncaughtException(Thread thread, Throwable exception) { 
    StringWriter stackTrace = new StringWriter(); 
    exception.printStackTrace(new PrintWriter(stackTrace)); 

    StringBuilder errorReport = new StringBuilder(); 
    errorReport.append(stackTrace.toString()); 

    Log.e(LOG_TAG, errorReport.toString()); 

    android.os.Process.killProcess(android.os.Process.myPid()); 
    System.exit(10); 
    } 
} 

然后在我的活动中。

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    /** 
    * catch unexpected error 
    */ 
    Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler()); 

    setContentView(R.layout.activity_main); 

    //other codes 
    } 

希望这会有所帮助。

+0

感谢这个有用的课程。 – ondermerol

+0

这是一个超级富有,自数周以来一直在努力。 –

相关问题