精华内容
下载资源
问答
  • 故,在测试功耗时,需要我们手动关闭Modem等Log。 一、 功耗 Log 抓取强制要求(特殊场景除外) 关闭 Modem等Log,只保留上层Log。 请将手机时间与电脑时间同步,记录出现电流异常的时间点。 提供电流异常波形图及...

    在功耗测试时候,由于默认开启的ModemLog会导致手机功耗异常。故,在测试功耗时,需要我们手动关闭ModemLog

    一、 功耗 Log 抓取强制要求(特殊场景除外)

    1. 关闭 ModemLog,只保留上层Log
    2. 请将手机时间与电脑时间同步,记录出现电流异常的时间点。
    3. 提供电流异常波形图及对应的Log
    4. 抓取Log后请及时提Bug库。

    二、MTK 平台抓取Log规范

    拨号界面输入暗码 *#*#3646633#*#*,进入MTK Logger 界面,右上角打开Logger Setting,手动关闭除Moblie Log之外的开关(比如:ModemLog、NetworkLog、GPSLog)。

    详细关闭方法请看下图:

    mtk 平台开启 Mobile log 参考图

    三、展讯平台抓取Log 规范

    拨号界面输入暗码 *#*#83781#*#*,进入SPRD Logger 界面,右上角打开Settings, 点击Custom scene,关闭除Android log之外的开关(比如:BT、AP 、PS 、DSP 、Modem 等)。

    详细关闭方法请看下图:
    SPRD 平台开启 Android log 参考图

    四、功耗异常电流图规范

    各个不同场景下的功耗异常问题,需要单独提供各个场景下,单独测试功耗问题的电流波形图及对应Log

    为了方便快速分析问题,请一定要确保

    1.Log 需要与 电流波形图 一 一对应。
    2.一份 Log 只测试一个场景功耗。
    3.提供电流异常的时间点。
    4.保证飞行摸底底电流正常。
    5.测试15分钟,取测试后后5-15分钟后的平均值。

    功耗异常电流图举例如下
    功耗异常电流波形图举例

    五、抓 Log后请及时提Bug库

    Log后请及时提Bug库。

    Log包含内容如下:
    1.上传软件上层 Log
    2.记录异常时间点。
    3.提供异常电流波形图。

    转载于:https://www.cnblogs.com/wangjie1990/p/11326976.html

    展开全文
  • adb log抓取方法

    千次阅读 2018-02-20 14:50:24
    adb命令抓取error级及以上log:adb logcat –v time –s AndroidRuntime:E 或adb logcat –v time AndroidRuntime:E *:S Log信息级别Log.v - VERBOSE : 黑色Log.d - DEBUG : 蓝色Log.i- INFO : 绿色Log.w- WARN : ...

    adb 命令抓取 error 级及以上 log
    adb logcat –v time –s AndroidRuntime:E  
    adb logcat –v time AndroidRuntime:E *:S
     
    Log 信息级别
    Log.v - VERBOSE  : 黑色
    Log.d - DEBUG  : 蓝色
    Log.i- INFO   : 绿色
    Log.w- WARN   : 橙色
    Log.e- ERROR   : 红色
     
    优先级是下面的字符,顺序是从低到高:
    V — 明细 verbose( 最低优先级 )
    D — 调试 debug
    I — 信息 info
    W — 警告 warn
    E — 错误 error
    F — 严重错误 fatal
    S — 无记载 silent

    使用 logcat 命令查看 android 日志输出:
    adb logcat     // 显示全部日志
    adb logcat > c:\test.log // 将日志保存到文件 test.log
     
    log 过滤 -
      l og 过滤器使用(   adb logcat tag:priprity
    过滤器表达式的格式是 tag:priority ... ,其中 tag 是标记(可以是具体的, * 表示所有), priority 是最小的优先级 , 可以是组合
    adb logcat ActivityManager:I MyApp:D *:S
    adb logcat * :W ----- 所有优先级大于等于 “warning” 的日志
    adb logcat * :E ----- 所有优先级大于等于 “error” 的日志
    仅输出标记为 “ActivityManager” 且优先级大于等于 “Info” 和标记为 “PowerManagerService” 并且优先级大于等于 “Debug” 的日志:
    adb logcat ActivityManager:I PowerManagerService:D *:S
    注: *:S 用于设置所有标记的日志优先级为 S ,这样可以确保仅输出符合条件的日志。
    adb logcat *:W   // 显示所有优先级大于等于 “warning” 的日志
    adb logcat -s PowerManagerService   // 显示 PowerManagerService 的日志信息
     
     
    Logcat 命令列表: log 输出 -log 选项列表
    -b <buffer> 指定要查看的日志缓冲区,可以是 system,events ,radio,main . 默认值是 system main 
    -c  清楚屏幕上的日志
    -d  输出日志到屏幕上
    -f <filename> 指定输出日志信息的 <filename> ,默认是 stdout . 
    -g  输出指定的日志缓冲区,输出后退出
    -n <count> 设置日志的最大数目 <count>. ,默认值是 4 ,需要和 -r 选项一起使用。  
    -r <kbytes> <kbytes> 时输出日志,默认值为 16 ,需要和 -f 选项一起使用
    -s  设置默认的过滤级别为 silent. 
    -v <format> 设置日志输入格式
    brief — 显示优先级 / 标记和原始进程的 PID ( 默认格式 )
    process — 仅显示进程 PID
    tag — 仅显示优先级 / 标记
    thread — 仅显示进程:线程和优先级 / 标记
    raw — 显示原始的日志信息,没有其他的元数据字段
    time — 显示日期,调用时间,优先级 / 标记, PID
    long — 显示所有的元数据字段并且用空行分隔消息内容
    adb logcat -v thread   // 使用 thread 输出格式
    注意 -v 选项中只能指定一种格式。
    -b <buffer> 加载一个可使用的日志缓冲区供查看,默认值是 main
    radio — 查看包含在无线 / 电话相关的缓冲区消息。( 通话、语音方面的 log, 抓跟网络之间的 ARM9 Log, QXDM Log 一般配套使用,所以通话类的问题必须使用 QXDM 抓取 Modem log AP radio log
    events — 查看事件相关的消息。( 是基本操作类的 log 。比如:常见的一些错误都可以使用此来抓取 LOG
    main — 查看主缓冲区 ( 默认缓冲区 ) 。( 是基本操作类的 log 。比如:常见的一些错误都可以使用此来抓取 LOG
    adb logcat -b radio     // 查看 radio 缓冲区

    MTK usr eng 的区别
    MTK  补充说明差异 :
    (1) Debug/LOG  方面,原则上 user 版本只能抓到有限的资讯, eng 可以抓到更多的资讯, Debug 能力更强,推崇使用 eng 版本开发 测试
    *        user/eng 版本设置 ro.secure 不同,导致 user 版本 adb  只拥有 shell  权限,而 eng 版本具有 root  权限
    *       MTK System LOG  ICS 以后,在 user  版本默认关闭全部 LOG ,在 eng 版本中默认打开,以便抓到完整的资讯
    *        eng 版本上, LOG   >= user  版本的 log 量,一些地方会直接 check eng/user 版本来确认是否打印 LOG
    *       user  版本默认关闭 uart, eng 版本默认开启 uart
    *        eng 版本上,开启 ANR  predump,  会抓取 ftrace ,可以得到更多 ANR 的资讯
    *        eng 版本上,可用 rtt  抓取 backtrace ,可开启 kdb 进行 kernel debug, 可用 ftrace  抓取 cpu  执行场景
    *       MTK aee  ENG 版本抓取更多的异常资讯,比如 native exception 会抓取 core dump 信息
    (2)  性能方面,原则上进行性能测试请使用 user 版本测试
    *       user  版本为提高第一次开机速度,使用了 DVM 的预优化,将 dex  文件分解成可直接 load  运行的 odex  文件, ENG 版本不会开启这项优化
    *        更少的 LOG 打印, uart  的关闭,原则上 user  版本的性能要优于 eng  版本
    (3)  如何确认 user/eng 版本
    *        Java   层, checkandroid.os.Build 类中的 TYPE 
    *       native  层, property_get("ro.build.type",char* value, "eng"); 然后 check value
    *       Debug  时,  adb shellgetprop ro.build.type 返回值如果是 user  user  版本, eng eng  版本
    *       Log  确认 ,  mobilelog/Aplog_xxxxx/versions 中查看 ro.build.type 属性
     
    展开全文
  • init进程log抓取

    2019-02-23 14:23:14
    &nbsp;adb logcat -b events&...打印events log信息 ps显示瞬间行程 (process) 的动态&nbsp; ps -AZ|grep -i init&nbsp; 查询init的属于的进程状态 android上层都是基于 init进程孵化而来 ini...

     adb logcat -b events   打印events log信息

    ps显示瞬间行程 (process) 的动态 

    ps -AZ|grep -i init  查询init的属于的进程状态

    android上层都是基于 init进程孵化而来

    init进程中的log信息打印在kernel log 

    可以通过 adb shell cat /proc/kmsg > kernel.log输出的kernel.log文件中搜索查看

    由于默认klog内存比较小,从能连上adb导出log文件,基本上已经十来秒之后,故早期的一些log会被后续的log覆盖掉导致信息丢失。

    在如下目录中

    kernel-4.4/kernel/printk/printk.c

    修改__LOG_BUF_LEN的值增加内存大小

     

    //#define __LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT)

     

    #define __LOG_BUF_LEN (4*1024 *1024)  log缓存变成4M

    也可以在adb shell中通过dmesg | grep "xxx" 查看关键字观察所添加的log是否有输出。

    另外还有android log的buffer  system/core/liblog/include/private/android_logger.h

    #define LOG_BUFFER_SIZE (256 * 1024) 调整大小

     

    system/core/liblog/include/private/android_logger.h

    //#define LOG_BUFFER_SIZE (256 * 1024) /* Tuned with ro.logd.size per-platform \*/
    change to

    #define LOG_BUFFER_SIZE (4 * 1024 * 1024)

     

    Android P 上init进程出现log无法打印的问题

    展开全文
  • 手机重启问题 Log 抓取方法

    千次阅读 2019-05-08 09:26:56
    极力推荐文章:欢迎收藏Android 干货分享 本篇文章主要介绍展讯...二、插入SD卡 抓取Sysdump log 三、 sysdump log 分析 四、展讯平台抓取重启 串口log的方案 五、展讯平台判断重启类型 六、展讯平台关闭 sysd...

     

    极力推荐文章:欢迎收藏
    Android 干货分享 

     

    本篇文章主要介绍展讯平台手机开发中的部分重启问题知识点,通过阅读本篇文章,您将收获以下内容:

    一、 User 版本 默认开启 sysdump 方法
    二、插入SD卡 抓取Sysdump log
    三、 sysdump log 分析
    四、展讯平台抓取重启 串口log的方案
    五、展讯平台判断重启类型
    六、展讯平台关闭 sysdump 与watchdog关联
    七、展讯平台手动触发sysdump 方法

    一、 User 版本 默认开启 sysdump 方法

    首先,为什么要这么干?
    主要原因是,展讯平台部分重启问题,同样的代码,userdebug 版本无法复现,User 版本 可以复现,这样才有此默认开启sysdump的方案。

    那么展讯平台user版本默认开启sysdump 方案

    修改一下代码
    device\sprd\xxxx\common\rootdir\root\init.common.rc
    在 on post-fs-data 下添加:

    // 设置 Ylog 默认开启开关 1 开启,0或不写 关闭
    setprop persist.ylog.enabled 1
    start ylog
    // 设置sysdump 默认开关属性值 开启为true  关闭 false
    setprop debug.sysdump.enabled true
    setprop persist.sys.eng.reset 0
    

    在代码中添加后,可以进行一下操作查看是否成功

      1. 确认是否开启sysdump 开关

    *#*#83781#*#* (进入工程模式菜单) ->DEBUG&LOG -> YLog-> Setting -> Sysdump Enable (开启sysdump)

      1. 确认是否开Ylog

    *#*#83781#*#*(进入工程模式菜单)->DEBUG&LOG -> YLog (开启ylog)

    Ylog关闭,sysdump 开关默认开启

    二、插入SD卡 抓取Sysdump log

    注意事项 一定要 插入4G及以上的SD卡,否则无法抓的重启的dump log

    一定要 插入4G及以上的SD卡,否则无法抓的重启的dump log

    三、 sysdump log 分析

    插入SD 卡后,成功dump log信息如下:

    dump log 成功的界面

    dump log成功后,我们需要解析 sysdump log,解析过程中需要使用对应版本的 vmlinux (out/target/product/sp9832e_1h10_go/obj/KERNEL/vmlinux) 以及
    crash_arm (vendor/sprd/tools/crash/crash_arm) 解析脚本来解析dumpcore 文件。

    新建解析dump log目录

      1. 将 vmlinux 、crash_arm、 sysdump log 放置同一目录
    cp out/target/product/sp9832e_1h10_go/obj/KERNEL/vmlinux  reboot/
    cp vendor/sprd/tools/crash/crash_arm reboot/
    

    将 vmlinux crash_arm sysdump log 放置同一目录

      1. 将 sysdump 所有文件 追加到一个文件中

    将sysdump 所有文件 追加到一个文件中

      1. 使用 crash_arm 脚本 联合 vmlinux 解析 sysdump log

    使用 crash_arm 脚本 联合 vmlinux 解析sysdump log

      1. 使用 Log 命令 将 Crash log追加到指定文件中

    使用 log 命令 读取log 到指定文件

      1. 查看log,分析重启的具体原因

    重启log举例

    • 6.参考调试命令

    32 位系统调试命令

    ./crash_arm -m phys_base=0X80000000 --cpus number2 vmlinux  all 
    

    64 位系统调试命令

    ./crash_arm64 vmlinux all -m phys_offset=0x80000000
    

    四、展讯平台抓取重启 串口log的方案

    1. 调高 Kernel log 等级为 7

    修改代码路径如下:
    kernel/arch/arm/boot/dts/<sprd-xx-yourboard>.dts,将bootargs = ""里修改loglevel字段 1 修改为 7 loglevel=7, console=ttyS1,115200n8 。

    搜索关键字 loglevel 即可。

    调高 **Kernel log** 等级为 **7**

    1. 将 logcat log 重定向到 串口

    修改init.common.rc代码(device/sprd/sharkle/common/rootdir/root/init.common.rc)。
    在 init 脚本中添加 logcat 重定向 Service .

    +service logcat /system/bin/logcat -f /dev/kmsg *:w
        + class main
        + user root
        + group log
        + oneshot
    
    on boot
        chown system system /proc/wcn_gnss/start
        chown system system /proc/wcn_gnss/stop
    
    
    1. disabble SElinux

    在 init.cpp (/system/core/init/init.cpp)中,让selinux_is_enforcing(void)函数直接返回false,同时注掉selinux_status_from_cmdline()函数。

    #if 0
    static selinux_enforcing_status selinux_status_from_cmdline() {
        selinux_enforcing_status status = SELINUX_ENFORCING;
    
        import_kernel_cmdline(false, [&](const std::string& key, const std::string& value, bool in_qemu) {
            if (key == "androidboot.selinux" && value == "permissive") {
                status = SELINUX_PERMISSIVE;
            }
        });
    
        return status;
    }
    #endif
    
    static bool selinux_is_enforcing(void)
    {
    #if 0
        if (ALLOW_PERMISSIVE_SELINUX) {
            return selinux_status_from_cmdline() == SELINUX_ENFORCING;
        }
        return true;
    #else
        return false;
    #endif
    }
    
    

    五、展讯平台判断重启类型

    1. main.log 中查看

    在 main.log 中搜索关键字 bootmode

    搜索关键字 bootmode

    2.在 phone.info 文件中查看

    在 Ylog ->poweron->aplog 目录下的phone.info 文件中 搜索关键字 bootmode

    搜索关键字 bootmode

    1. Sysdump中查看触发重启dump的类型

    重启类型信息保存文件路径

    Kernel panic 重启

    手动触发sysdump 重启

    六、展讯平台关闭 sysdump 与watchdog关联

    关闭sysdump 与watchdog关联,防止开启sysdumpwatchdog被默认关闭,导致无法抓取复现到重启logdump

    修改文件路径如下:
    kernel/drivers/soc/sprd/debug/sysdump/sysdump.c

                sysdump_status = 1;
                sprd_set_reboot_mode("dumpenable");
                set_sysdump_enable(1);
    //****************
    -           sysdump_enable_watchdog(0);
    //*************
            } else if (!strncmp(sysdump_buf, "off", 3)) {
                pr_emerg("sprd_sysdump_write: disable user version sysdump!!!\n");
                sysdump_status = 0;
    

    删除 sysdump_enable_watchdog

    七、展讯平台手动触发sysdump方法

      1. Kernel未完全死掉时候,触发SWT(优先方案)

    手动触发方案:
    同时按住音量+ 、音量- 、然后双击Power键

      1. Kernel完全死掉,触发HWT

    手动触发方案:
    长按Power 键、 音量+

    长按识别二维码,领福利

    至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

    如有侵权,请联系小编,小编对此深感抱歉,届时小编会删除文章,立即停止侵权行为,请您多多包涵。

    小礼物走一走,来简书关注我

    赞赏支持

     

    展开全文
  • MTK Nucleus平台软件log抓取方法

    千次阅读 2016-04-15 17:36:45
    包括feature phone(6260,6261),M2M(6261),Wearable(2501,2502),软件在开机过程经历了bootrom,bootloader,Nucleus kernel init,kernel schedule这些阶段,每个阶段抓取log的方式也不一样,如有
  • Qualcomm QXDM工具简介和log抓取

    千次阅读 2018-01-08 13:54:42
    - QXDM——LOG获取,LOG文件转换,测试机状态获取等等。 2.QXDM 简介 QXDM是高通提供的一套扩展的诊断监视系统。它通过diag传输,把程序里面的一些Message或者数据包输出到QXDM的图形接口。主要数据有 : ...
  • MTK平台串口log抓取 作为一名驱动工程师,有时候必须要抓取uart log来分析故障,查找及验证后,发现一下方法确认能够稳定及正常抓取MTK平台uart log。 1.preloader 中配置串口号 bootable/bootloader/...
  • log抓取与分析

    千次阅读 2018-04-04 11:50:53
    log抓取与分http://blog.csdn.net/yaoming168/article/details/38777727 log抓取与分析一、Android log框架简介二、log获取方式1、Eclipse 抓取1)根据信息类型过滤log那个显示框上面还有个下拉列表选项可以...
  • Android Log抓取与分析

    万次阅读 2014-08-23 13:06:44
    第九课、log抓取与分析 一、Android log框架简介 二、log获取方式 1、Eclipse抓取 1)根据信息类型过滤log 那个显示框上面还有个下拉列表选项可以选择过滤哪些信息。 a、Log.v的调试颜色为黑色的,任何消息都会...
  • Android 7.0 Log抓取与分析

    千次阅读 2017-02-17 10:29:10
    一、Android log框架简介二、log获取方式1、Eclipse 抓取1)根据信息类型过滤log那个显示框上面还有个下拉列表选项可以选择过滤哪些信息。 a、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦...
  • 抓取一下免提通话时的VM_Log VM Log 抓取方法: 1. 插入sdcard,用来存储所谓的vm log; 2. 进入Engineer Mode; 3. Enter Engineer Mode\Audio\Speech Enhancement\common parameter的parameter 0设置为6 4. Enter...
  • adb 抓取log

    2013-10-18 14:11:59
    把 error 级别以上的log保存到电脑的文件中。       android的logcat详细用法   Android日志系统提供了记录和查看系统调试信息的功能。日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以...
  • MTK平台-抓取蓝牙log

    2018-02-25 11:02:00
    一.MTKLOG抓取 1.在拔号键盘输入暗码 *#*#3646633#*#* 进入工模EngineerMode 2.在 Log and Debugging -> MTKLogger 点击开始 3.MTKLog存储路径:/sdcard/mtklog/ 二.BTLOG(蓝牙log)抓取 1.连续点击8次...
  • 抓取Android应用的log

    2016-03-09 09:35:00
    今天测试软件时,遇到一个bug,因为开发说那边不复现,所以为了更好追踪这个问题,需要抓取复现步骤的log. 在网上查了相关资料,同时结合自己遇到的问题,总结如下。 1. 抓取Android 应用log的方法 2. adb ...
  • 主要介绍android Log抓取及分析、android USER 版本与ENG 版本差异、以及mtK User版本开启串口(uart)输入,方便用串口分析上层log
  • 抓取ANR log的方法

    千次阅读 2016-12-28 18:33:08
    ANR简介 APP 出现进程无响应之后, 系统通常会向用户显示一个对话框, 这个对话框称作应用程序无 响应( ...强制关闭 ” ,但是无法定位导致出现 anr 的原因。我们可以通过抓取 anr log ,帮 助我们
  • 处理蓝牙问题需要的LOG抓取

    千次阅读 2017-04-12 09:29:15
    前言,遇到蓝牙相关问题需要MTK提供帮助的时候,我们通常需要提供MTKlog和打开HCI信息收集日志,还需要把debug level 从2 提高到 6.一 、设置debug level其中mtklog需要将debug level设置为6才可以; 请只要复现一次...
  • mtk抓取log的几种方式

    2020-07-30 19:48:52
    1. ota升级过程中抓取升级log 【eng版本的log】 In recovery mode adb pull /tmp/recovery.log Reboot to normal mode adb pull /cache/recovery/last_log 【user版本的log】 方法一: In recovery mode ...
  • 很简单,使用命令行来就可以,步骤如下: 1.adb devices 检查调试设备是否连接好...4.adb logcat -v time > xx.log xx是保存的log文件的名字,到这里然后运行你的程序就可以抓取log了 5.关闭命令行就可以在桌面看到生
  • 1. 关闭bluetooth2.设置bt_stack.conf中所有的levels 为 6 。把bt_stack.conf 从到 /system/etc/bluetooth/ pull出来,修改后push会之前目录 adb root adb disable-verity adb remount #adb push bt_stack.conf ...
  • 各主流厂商抓取modem log的方法

    千次阅读 2020-04-13 22:58:17
    log时,积累的一些抓取modem offline lo的经验,发出来一起学习 VIVO如何抓log 以下是基于VIVO NEX3 5G版本,验证有效 a. 如何抓取Modem offline log: 在拨号盘输入*##112##*->点击更多->点击Modem log 配置.....
  • 当前抓取开机log有如下方法可以参考: 1. 通过插入已开启SIM卡pin码的卡抓取: a、开启SIM卡的pin1码,插入测试设备 b、开机,在输入SIM卡pin码界面出现后,用usb线连接设备,打开logel工具,在设备界面选择usb...
  • Windows服务器自动化抓取log并上传

    千次阅读 2019-10-21 12:51:03
    最近因为项目有日志审计的需要,需要把多个windows服务器的log每天抓取并自动上传到指定的服务器中。经过查阅相关知识之后,决定采用bat脚本+定时计划任务的方式来实现。 一、Window事件日志简介 Windows系统日志...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,516
精华内容 7,806
关键字:

关闭log抓取