首页 > android开发,怎么快速的在log查找出错的原因

android开发,怎么快速的在log查找出错的原因

android开发,怎么快速的在log查找出错的原因
有的程序在写代码到编译一直没有出错,但是一运行就会出错,这时我们需要查看LogCat。但是log的量特别大,所以,想问下怎么样通过Log来快速定位错误呢?看Log内容的技巧是什么呢?


Log level 右边有个带有搜索图标的过滤输入框。输入你想看到的log记录内容,这样就可以过滤了。


用adt的时候崩溃的时候错误详情在logcat里是以红色显示的,而且通常由于有堆栈所以是一大片红色,基本一眼都能看见,除非有特殊情况。
另外编译不出错运行出错是很正常的吧,编译能保证的东西一般都很少,在android上就更加少的可怜了


自己的经验:
1. Log level 过滤;
2. adb logcat -b 过滤;
3. 用 Vim 打开 log 文件,在里面搜索定位非常快。


命令行 grep
adb logcat | egrep "E/AndroidRuntime|W/System.err|xxx"


首先,Log是有等级的。

这些等级对应Android.util.Log里的不同方法。
举个栗子:
Log.d(String tag, String msg)方法对应的就是debug等级。而导致程序崩溃退出的Log一般在error等级。
通常情况下,用等级来过滤Log可以满足开发中大部分的需求。不过android还提供了更为精确的过滤方法

换只手举另一个栗子:
假设我在程序中通过Log.d("TAG","Hello World");方法输出了一句Hello World,然后想在Log只过滤出这句话。那么就可以在搜索框中输入tag:TAG来实现目的。除了使用tag外,还可以使用pid,app,text等前缀来定制自己的过滤规则。


最基础的操作是,点击logcat中的下拉菜单(默认为verbose),改为error。如果不久前测试时刚刚抛出异常,那么这个筛选结果的前几行就能看到主要的异常。

【热门文章】
【热门文章】