2

在 Eclipse 中,我注意到 Logcat 只保留几十个条目,并在新条目出现时立即删除旧条目。有没有办法防止这种情况?我需要我的应用程序运行很长时间并且不会丢失任何条目,因为我的应用程序最终会在几天后挂起或崩溃,我想看看是否记录了 Logcat 中的某些内容。

4

4 回答 4

3

我不确定这是否是解决问题的最优雅的解决方案,但您始终可以在 Eclipse 中增加 LogCat 消息大小。

窗口 -> 首选项 -> Android -> LogCat -> 要缓冲的最大 LogCat 消息数

我相信默认值是 5000。如果您计划长时间运行您的应用程序,您可以将其设置为非常高。

于 2013-10-04T04:05:39.867 回答
0

如果您想让您的应用程序运行数天......最好从 adb shell 捕获您的日志。常见的 shell 命令是:

logcat -c \\ to clear previous logs
logcat -v time>yourLogs.txt & \\ to capture fresh logs
于 2013-10-04T04:41:35.883 回答
0

这是一个更好的解决方案:

设置默认未捕获异常处理程序。每当应用程序崩溃时,都会调用此异常。只需写一个日志条目说它崩溃了,然后将 logcat 转储到一个文件中。最后,确保重新抛出异常以确保应用程序崩溃并且不会发生奇怪的事情。注意:这是每个线程,请记住这一点。

Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() {
    @Override
    public void uncaughtException(Thread thread, Throwable ex) {
        Log.e("TAG", "---My app crashed just now---", ex);

        //TODO: Dump logcat to file

        throw new RuntimeException(ex);
    }
});
于 2013-10-04T04:25:27.693 回答
0

我认为你需要增加这个节目形象在此处输入图像描述

于 2013-10-04T04:05:09.270 回答