精华内容
下载资源
问答
  • 故,在测试功耗时,需要我们手动关闭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

    展开全文
  • 手机重启问题 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 键、 音量+

    长按识别二维码,领福利

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

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

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

    赞赏支持

     

    展开全文
  • 抓取ANR log的方法

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

    ANR简介

    APP出现进程无响应之后,系统通常会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框,用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”,但是无法定位导致出现anr的原因。我们可以通过抓取anr log,帮助我们定位导致APP出现anr的原因。APP运行出现anr的同时,会在data目录下生成一个 anr 的文件,anr log存储在此文件夹下,将其导出即可。

    查看APP ANR文件的方法

    手机连接USB ,进入CMD命令窗口,输入以下命令:
     >adb shell  
    $ su 
    # cd data  
    # ls 
    在列出的文件列表有一个 anr 文件; 

    导出anr log的方法

    进入CMD命令窗口,输入以下命令: 
    > adb pull /data/anr/traces.txt D:\  
    即可将APP生成的anr log文件导出到PC D盘根目录下。
    PS:APP生成的anr log存储在手机/data/anr目录下的traces.txt文件里。

    定位ANR异常

    log日志如下:
    "main" prio=5 tid=1 Native
    | group="main" sCount=1 dsCount=0 obj=0x74a50f90 self=0x7fa197ba00
    | sysTid=2588 nice=-1 cgrp=top_visible sched=0/0 handle=0x7fa5ebb000
    | state=S schedstat=( 1613773720 221538200 2428 ) utm=133 stm=28 core=3 HZ=100
    | stack=0x7fcc7c8000-0x7fcc7ca000 stackSize=8MB
    | held mutexes=
    kernel: __switch_to+0x74/0x8c
    kernel: futex_wait_queue_me+0xd8/0x168
    kernel: futex_wait+0xe4/0x234
    kernel: do_futex+0x184/0xa54
    kernel: SyS_futex+0x88/0x19c
    kernel: cpu_switch_to+0x48/0x4c
    native: #00 pc 000000000001cef0 /system/lib64/libc.so (syscall+28)
    native: #01 pc 00000000000679c4 /system/lib64/libc.so (_ZL33__pthread_mutex_lock_with_timeoutP24pthread_mutex_internal_tPK8timespeci.constprop.0+260)
    native: #02 pc 0000000000067d4c /system/lib64/libc.so (pthread_mutex_lock+36)
    native: #03 pc 00000000000da578 /data/app/com.yzxdemo-1/lib/arm64/libUGo.so (_ZN9Conductor26VideoSetSendReciveRotationEjj+44)
    native: #04 pc 00000000000b4208 /data/app/com.yzxdemo-1/lib/arm64/libUGo.so (_Z33me_video_set_send_recive_rotationjj+40)
    native: #05 pc 000000000006cbbc /data/app/com.yzxdemo-1/oat/arm64/base.odex (int com.gl.softphone.UGoManager.UGoVideoSetSendReciveRotation(int, int)+144)
    native: #06 pc 000000000006f3a0 /data/app/com.yzxdemo-1/oat/arm64/base.odex (int com.gl.softphone.UGoManager.pub_UGoVideoSetSendReciveRotation(int, int)+84)
    native: #07 pc 000000000008cd88 /data/app/com.yzxdemo-1/oat/arm64/base.odex (void com.yzx.api.UCSCall.videoSetSendReciveRotation(int, int)+124)
    native: #08 pc 0000000000136d3c /data/app/com.yzxdemo-1/oat/arm64/base.odex (void com.yzxdemo.activity.VideoConverseActivity$4.onSensorChanged(android.hardware.SensorEvent)+528)
    native: #09 pc 0000000000ee5e68 /data/dalvik-cache/arm64/system@framework@boot.oat (???)
    at com.gl.softphone.UGoManager.UGoVideoSetSendReciveRotation(Native method)
    at com.gl.softphone.UGoManager.pub_UGoVideoSetSendReciveRotation(UGoManager.java:280)
    - locked <0x0b2f89b7> (a com.gl.softphone.UGoManager)
    at com.yzx.api.UCSCall.videoSetSendReciveRotation(UCSCall.java:1050)
    at com.yzxdemo.activity.VideoConverseActivity$4.onSensorChanged(VideoConverseActivity.java:434)
    at android.hardware.SystemSensorManager$SensorEventQueue.dispatchSensorEvent(SystemSensorManager.java:496)
    at android.os.MessageQueue.nativePollOnce(Native method)
    at android.os.MessageQueue.next(MessageQueue.java:330)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:5665)
    at java.lang.reflect.Method.invoke!(Native method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:822)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:712)
    我们从traces.txt异常日志文件中导出了关键日志,其中红色的这两行可以定位出问题的所在。

    展开全文
  • 很简单,使用命令行来就可以,步骤如下: 1.adb devices 检查调试设备是否连接好...4.adb logcat -v time > xx.log xx是保存的log文件的名字,到这里然后运行你的程序就可以抓取log了 5.关闭命令行就可以在桌面看到生

    很简单,使用命令行来就可以,步骤如下:
    1.adb devices 检查调试设备是否连接好,没有调试设备抓不了
    2.adb logcat -c
    3.cd …(Desktop) 进入你要存放日志文件的目录,括号中是存放在桌面
    4.adb logcat -v time > xx.log xx是保存的log文件的名字,到这里然后运行你的程序就可以抓取log了
    5.关闭命令行就可以在桌面看到生成的log文件了
    这里写图片描述

    展开全文
  • 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 ...
  • 61D的代码如何利用Catcher抓取log

    千次阅读 2016-03-29 19:19:26
    首先是利用Catcher抓取真机上的LOG,步骤如下: 1、打开usb打印,即在custom\common\hal\nvram\nvram_data_items.c里,查找:tst,有一处有ldz的地方,就是我们改的地方,为99时,关闭此打印,为4时,是USB打印。 2...
  • [Power] 如果抓取功耗问题 log

    千次阅读 2017-03-17 15:52:59
    功耗问题LOG可以分以下几种情况: 1、 Sleep失败或者sleep电流...A、抓mobile log关闭 modem log/net log B、 抓UART log前先输入命令 echo 0 3 1 1 0 >/proc/pm_flag echo 8 > /proc/sys/kernel/printk   2、
  • Platform:MT6589MT6577MT6575 Branch:JBICS2ICSGB2... FAQ Content 功耗问题LOG可以分以下几种情况: 1、 Sleep失败或者... 抓mobile log 或者UART4 log ... A、抓mobile log关闭 modem lo
  • <p>I'm trying to create a webpage version control backup / log. Where if the webpage (including JS and CSS) gets altered it saves a static copy on the drive. <p>How do I <code>get</code> the CSS and ...
  • 2. 使用appium结合python实现android自动化时,如何正确的抓取Log 背景:  目前一直在做安卓自动化的东西,主要是针对项目回归测试用例进行实现。由于设计的用例,所扑捉的问题都是已经预估到的,对于未知的导致...
  • 后台抓取logcat

    2014-05-15 12:14:28
    自己写的一个小程序,用来抓取logcat,将log写到sdcard,后台运行,可以随时打开或关闭
  • 查看 mariadb general log

    2015-05-11 15:21:45
    general log 一直被建议不要开启,今天测试同事要求抓一下他的sql,但是slow log里面没有记录,就开了 general log抓取 set global general_log=1 ; 测完后关闭 s...
  • 前言 当想用 nodejs 抓取一些网页 , 我第一反应想到的就是使用 http 模块 , 比如抓取百度首页: ... ... res.setEncoding('utf8'); res.on('data', function (chunk) { ... // console.log('连接关闭'); });
  • 背景:当需要配合应用抓取实时数据库运行sql时,或分析数据库运行情况时,都需通过在线抓取数据库一段时间的sql日志,并进行sql分析,在此达梦提供sql分析工具,可统计出一段时间的sql运行情况。 1、打开日志跟踪 ...
  • 这段时间在做一个项目,需求:每一分钟抓取2个网站得数据,隔断时间就会报内存溢出得Bug,下面记录一下 解决方法: 1.增加参数,-XX:-UseGCOverheadLimit,关闭这个特性,同时增加heap大小,-Xmx1g。 nohup java...
  • 如何关闭高层业务

    2011-10-20 21:13:02
    如何关闭高层业务 在入库时,为了进行协议一制性测试,...在做测试前一定要打开AP Log和CP Log进行Log抓取,接着用数据线将样机连接到PC机上,选择ADB模式。 注:如果没有安装ADB驱动,必须先安装,才能使用。
  • 手机logging关闭的方法是:1、如果手机显示logging,那么LOG设置中,信息抓取就会是开启状态。2、打开手机的拨号键盘,直接输入星号井号800井号,完成输入后,手机就会自动进入到LOG的设置页面,点击结束抓取即可。...
  • 1、user版本关闭selinux 仅限于系统调试时使用,量产版本需要将其设置回去成ELINUX_ENFORCING模式。 1.1)背景 C:\Users\zhaojr> adb root C:\Users\zhaojr> adb remount C:\Users\zhaojr> adb shell ac8257...
  • 通过log过滤,在Bluetooth Adapter StateMachine中,抓取log信息,来查看正常开启时发生的状态改变   PowerOff------State 11-27 14:05:58.819: D/BluetoothAdapterStateMachine(250): PowerOff process message...
  • DbgView 是一个免费的用于抓取log 的工具,可以捕获并输出OutputDebugString()函数的输出,以及输出windows driver 中dbgprint 的log,对于windows driver 开发和调试是十分有帮助的。 但是该tool 已经很久不再更新...
  • 通过在设置中打开和关闭SIM卡开关,抓取系统log抓取到关机时有关闭SIM卡的操作 然后找到packages\services\Telephony\src\com\android\phone\PhoneInterfaceManager.java 找到打印log的函数 然后在代码中搜索是...
  • MTKLogger

    千次阅读 2020-04-08 10:55:49
    MTKLogger 是 MediaTek 开发的一个 ...其中 daemon 负责不断的将 Log Buffer 里面的新 Log 复制到 sdcard 上面,而 UI Application 则可以控制 Daemon 的打开和关闭,占用 sdcard 空间的大小,某一种 Log抓取...
  • adb 常用指令

    2021-01-30 16:19:48
    常用指令 adb start-server 开启adb 服务 adb kill-server 在关闭adb服务 adb devices 查看系统是否....\logcat.log 开始抓取日志,>:代表输出到.\logcat.log(adb logcat -v time:是开始抓取日志命令) nets
  • adb

    2011-09-24 11:36:16
    1、抓取开关机log adb logcat >e:\123.txt 2、关闭开启log 关:adb shell xlog filter-set off 开:adb shell xlog filter-set on  或者adb shell xlog filter-set info
  • 达梦数据分析慢SQL

    2020-08-24 14:52:54
    达梦数据分析慢SQL 一、前提条件安装好数据库并启动实例。...2.4、抓取完之后就关闭改参数、不然会产生非常大的日志量。 SP_SET_PARA_VALUE(1,‘SVR_LOG’,0) --关闭 三、分析SQL 3.1 一种方法是用达梦安
  • <div><p>什么情况/What happened?...必须使用我们的log抓取模块抓取/It can help us to locate issue, must use our logcat module</p><p>该提问来源于开源项目:ElderDrivers/EdXposed</p></div>
  • 虽然不是自己调查的,但是验证了作者的分析,确实是重启后可以继续使用。 ...dbgview 在windows 10 中关闭后再次打开时无法“capture ...DbgView 是一个免费的用于抓取log 的工具,可以捕获并输出OutputDebug...
  • 常用的串口调试指令

    2019-08-10 08:09:21
    2.抓取log信息并保存在指定文件 logcat -f xxx(文件名) logcat -c;logcat -s “TAG” //打印指定信息 3.关闭kernel打印信息 记得用切换用户权限:su 切换回原来的用户:exit echo 0>/proc/sys/kernel/printk 4....

空空如也

空空如也

1 2 3 4
收藏数 67
精华内容 26
关键字:

关闭log抓取