扫码关注官方订阅号
android开发,怎么快速的在log查找出错的原因 有的程序在写代码到编译一直没有出错,但是一运行就会出错,这时我们需要查看LogCat。但是log的量特别大,所以,想问下怎么样通过Log来快速定位错误呢?看Log内容的技巧是什么呢?
认证0级讲师
Log level 右边有个带有搜索图标的过滤输入框。输入你想看到的log记录内容,这样就可以过滤了。
首先,Log是有等级的。
这些等级对应Android.util.Log里的不同方法。 举个栗子:Log.d(String tag, String msg)方法对应的就是debug等级。而导致程序崩溃退出的Log一般在error等级。 通常情况下,用等级来过滤Log可以满足开发中大部分的需求。不过android还提供了更为精确的过滤方法
Android.util.Log
Log.d(String tag, String msg)
换只手举另一个栗子: 假设我在程序中通过Log.d("TAG","Hello World");方法输出了一句Hello World,然后想在Log只过滤出这句话。那么就可以在搜索框中输入tag:TAG来实现目的。除了使用tag外,还可以使用pid,app,text等前缀来定制自己的过滤规则。
Log.d("TAG","Hello World");
tag:TAG
自己的经验: 1. Log level 过滤; 2. adb logcat -b 过滤; 3. 用 Vim 打开 log 文件,在里面搜索定位非常快。
最基础的操作是,点击logcat中的下拉菜单(默认为verbose),改为error。如果不久前测试时刚刚抛出异常,那么这个筛选结果的前几行就能看到主要的异常。
命令行 grep adb logcat | egrep "E/AndroidRuntime|W/System.err|xxx"
用adt的时候崩溃的时候错误详情在logcat里是以红色显示的,而且通常由于有堆栈所以是一大片红色,基本一眼都能看见,除非有特殊情况。 另外编译不出错运行出错是很正常的吧,编译能保证的东西一般都很少,在android上就更加少的可怜了
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
Log level 右边有个带有搜索图标的过滤输入框。输入你想看到的log记录内容,这样就可以过滤了。
首先,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等前缀来定制自己的过滤规则。自己的经验:
1. Log level 过滤;
2. adb logcat -b 过滤;
3. 用 Vim 打开 log 文件,在里面搜索定位非常快。
最基础的操作是,点击logcat中的下拉菜单(默认为verbose),改为error。如果不久前测试时刚刚抛出异常,那么这个筛选结果的前几行就能看到主要的异常。
命令行 grep
adb logcat | egrep "E/AndroidRuntime|W/System.err|xxx"
用adt的时候崩溃的时候错误详情在logcat里是以红色显示的,而且通常由于有堆栈所以是一大片红色,基本一眼都能看见,除非有特殊情况。
另外编译不出错运行出错是很正常的吧,编译能保证的东西一般都很少,在android上就更加少的可怜了