android adb logcat获取日志文件

一般情况,可以直接在电脑终端上输入logcat来查看手机运行日志,但是测试工作者为了抓取日志文件来给开发人员,需要把日志导出到特定文件中。如下文。

以小米1s手机为例

步骤1:打开第一个终端窗口
adb devices(检查设备是否成功连接,并获取设备号)
adb -s 04cf8300 logcat -c (清除LOGCAT的缓存)
adb -s 04cf8300 logcat >test_logcat.txt(将log日志存在此txt文件中,默认显示在用户文档下面)如图:
2、再打开一个终端窗口:输入
adb -s 04cf8300 shell monkey -v -p com.kunshan.weisheng --throttle 300 20000 >test_Monkey.txt(执行monkey自动化测试。在测试过程中会有LOG产生。log存在上面文档中,monkey测试路径存在此文档中)

其中test_logcat.txt如图:

test_Monkey.txt如图:

将test_logcat.txt文档交给开发就ok了。当然个人认为log太长,需要简化,可以设置优先级,提取概要。等以后再研究。
 
//消息过滤
针对ndk问题查找
adb logcat | /Users/yii_dev3/Documents/android-ndk-r9d\ndk-stack -sym 项目路径\pro.android\obj\local\armeabi

ndk-stack使用

1.运行终端。 跳转到你android sdk 目录

如 cd /Users/name/Android/adt-bundle-mac-x86_64-20131030/sdk/platform-tools 

2、找了路径正确继续下一步,./adb logcat | 你android ndk-stack所在的路径 -sym /你安卓工程.so文件所在的目录

如./adb logcat | /Users/name/Android/android-ndk-r8e/ndk-stack -sym /Users/name/test/proj.android/obj/local/armeabi

3、正确配置后会在终端出现

- waiting for device -

4、AndroidManifest.xml 设置 Debuggable 为true  在Application 切页中

5、另外启动一个终端 编译android工程

6、ADT连接设备运行你的工程就行了,出现崩溃的话会在你前面配置的终端里面打印出来。

 

********** Crash dump: **********

Build fingerprint: 'Xiaomi/aries/aries:4.1.1/JRO03L/JLB29.0:user/release-keys'

pid: 6546, tid: 6575, name: Thread-9654  >>> com.cocos2dx.SanGo <<<

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad

Stack frame #00  pc 00013a78  /system/lib/libc.so

Stack frame #01  pc 00015e55  /system/lib/libc.so (dlfree+1628)

Stack frame #02  pc 00017003  /system/lib/libc.so (free+10)

Stack frame #03  pc 004965e8  /data/data/com.cocos2dx.test/lib/libgame.so (cocos2d::CCImage::~CCImage()+88): Routine __static_initialization_and_destruction_0 in /Users/name/Sango_Android/test/libs/cocos2dx/platform/android/CCApplication.cpp:127

Stack frame #04  pc 0049664c  /data/data/com.cocos2dx.teset/lib/libgame.so (cocos2d::CCImage::~CCImage()+20): Routine CCLog in /Users/name/test/libs/cocos2dx/platform/android/CCCommon.cpp:36

重要的就是 cpp 行号。为我们定位崩溃地点很有作用,再结合程序的打印输出位置,就能很快定位问题了。

posted on 2017-12-26 13:53  byd张小伟  阅读(10640)  评论(0编辑  收藏  举报