精华内容
下载资源
问答
  • minicom 抓取log

    2018-01-23 17:45:00
    使用minicom也有很长时间了,只用minicom抓过uart log,但是从来没有去保存过这个log,也不知道有这个功能。后来在超级终端中发现有这个功能(传送->捕获文字),想想minicom应该也有这个功能才对,后来搜索找到...

    使用minicom也有很长时间了,只用minicom抓过uart log,但是从来没有去保存过这个log,也不知道有这个功能。后来在超级终端中发现有这个功能(传送->捕获文字),想想minicom应该也有这个功能才对,后来搜索找到怎么用了,方法如下:

    首先打开minicom,然后按一下ctrl + a,松开后再按z键,会出现下面这个界面:

    看到Capture on/off这项了吗,按下L键,会出现下面的窗口:

    提示输入一个Capture的文件名,默认就是图中的minicom.cap,然后按一下回车,就可以将log信息保存到一个文件中了,这样遇到log相对较多也能抓取完整,也方便我们查看,谢谢。

    转载于:https://www.cnblogs.com/jlmgary/p/8337061.html

    展开全文
  • 抓取MBIM PCAP LOG的方法

    千次阅读 2017-05-24 17:38:24
    现在市面上已经有好些带modem模块的Windows系统笔记本,如联想笔记本小新Air LTE版 和 小米笔记本Air 4G...那么怎么在这些笔记本上抓取到MBIM接口的数据呢?笔者研究了一下,操作步骤如下:1、从下述网站下载与安装usbp

    现在市面上已经有好些带modem模块的Windows系统笔记本,如联想笔记本小新Air LTE版小米笔记本Air 4G版

    为了实现移动宽带设备(即上面提到的modem模块) 和 PC端的通信,Intel和Microsoft等多家USB/IF成员提出的一个新的标准接口,即MBIM接口。

    那么怎么在这些笔记本上抓取到MBIM接口的数据呢?笔者研究了一下,操作步骤如下:

    1、从下述网站下载与安装usbpcap.exe,安装完之后要重启一下电脑
    http://desowin.org/usbpcap/

    2、使用usbpcap应用,可以抓取到log,方法如下
    这里写图片描述

    3、用wireshark打开log,用mbim关键字过滤出需要的信息:
    这里写图片描述

    至此,就可以分析/学习MBIM协议和数据了。

    展开全文
  • 1.log文件分类简介实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志状态信息的有:adb shell cat /proc/kmsg ,...adb bugreport,工程模式等2.LOG抓取详解(1...

    1.log文件分类简介

    实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志

    状态信息的有:adb shell cat /proc/kmsg ,adb shell dmesg,adb shell dumpstate,adb shell dumpsys,adb bugreport,工程模式等

    2.LOG抓取详解

    (1)实时打印

    adb logcat -b main -v time>app.log 打印应用程序的log

    adb logcat -b radio -v time> radio.log 打印射频相关的log,SIM STK也会在里面,modem相关的ATcommand等,当然跟QXDM差的很远了。

    adb logcat -b events -v time 打印系统事件的日志,比如触屏事件。。。

    tcpdump 是很有用的,对于TCP/IP协议相关的都可以使用这个来抓,adb shell tcpdump -s 10000 -w /sdcard/capture.pcap,比如抓mms下载的时候的UA profile,browser上网的时候,使用proxy的APN下载,streaming的相关内容包括UA profile等。

    最后是高通平台的QXDM,不管是不是Android,只要使用高通芯片,都会对它很熟悉,当然了,不是高通的芯片就不用提它了。这个不多讲,内容丰富,射频,电话,上网,...凡是高通提供的解决方案,这个都可以抓。(QXDM 的LOG抓取方法请参考QPST、QXDM的基本使用说明及作用)

    (2)状态信息

    bugreport(命令adb bugreport>bugreport.log)。里面包含有dmesg,dumpstate和dumpsys。

    dumpstate是系统状态信息,里面比较全,包括手机当前的内存信息、cpu信息、logcat缓存,kernel缓存等等。

    adb shell dumpsys这个是关于系统service的内容都在这个里面,这个命令还有更详尽的用法,比如adb shell dumpsys meminfo system是查看system这个process的内存信息。

    kmsg抓取

    adb shell cat /proc/kmsg > kmsg.txt,打开后查msm_kgsl字段

    说明:用于检索用printk生成的内核消息。任何时刻只能有一个具有超级用户权限的进程可以读取这个文件。也可以用系统调用syslog检索这些消息。通常使用工具dmesg或守护进程klogd检索这些消息。proc是一个内存文件系统, 每次读文件kmsg实际是内核内部的循环缓冲区,每读过后,循环缓冲区的东西就被认为已经处理过了(也就是变成无效内容),所以你再次读为空是很正常的 为什么会这样处理呢,循环缓冲区大小有限,内核又随时可能往里面写东西,所以这样处理很正常. 你去查一下/proc/kmsg的信息有没有跟系统日志关联,如果有的话,你就可以读日志文件

    dmsg抓取

    adb shell dmesg > dmesg.txt

    说明:dmesg用来显示开机信息,kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。dmesg是kernel的log,凡是跟kernel相关的,比如driver出了问题(相机,蓝牙,usb,启动,等等)开机信息亦保存在/var/log目录中,名称为dmesg的文件里。more /var/log/dmesg

    工程模式下log的抓取

    对于Apollo手机请拨打*#*#8888#*#* ,然后勾选相应的LOG。待测试结束后,通过SD卡导出LOG到PC.

    3.Log分析

    Get Log from Android System

    adb bugreport > bugreport.txt

    copy bugreport to the current directory.

    bugreport里面包含了各种log信息,大部分log也可以通过直接运行相关的程序来直接获得.

    步骤如下:

    (1)adb shell

    (2)进入相关工具程式的目录

    (3)执行相关程式

    (4)得到相关信息

    下面以输出进程信息为例

    (1)adb shell

    (2)输入ps -P

    (3)可以看到相关进程信息

    --------------------------------------------------------------------------------------------------

    Log Archive Analysis

    1.bugreport

    bugreport记录android启动过程的log,以及启动后的系统状态,包括进程列表,内存信息,VM信息等等到.

    2.bugreport结构分析

    (1)dumpstate

    MEMORY INFO

    获取该log:读取文件/proc/meminfo

    系统内存使用状态

    CPU INFO

    获取该log:执行/system/bin/top -n 1 -d 1 -m 30 -t

    系统CPU使用状态

    PROCRANK

    获取该log:执行/system/bin/procrank

    执行/system/xbin/procrank后输出的结果,查看一些内存使用状态

    VIRTUAL MEMORY STATS

    获取该log:读取文件/proc/vmstat

    虚拟内存分配情况

    vmalloc申请的内存则位于vmalloc_start~vmalloc_end之间,与物理地址没有简单的转换关系,虽然在逻辑上它们也是连续的,但是在物理上它们不要求连续。

    VMALLOC INFO

    获取该log:读取文件/proc/vmallocinfo

    虚拟内存分配情况

    SLAB INFO

    获取该log:读取文件/proc/slabinfo

    SLAB是一种内存分配器.这里输出该分配器的一些信息

    ZONEINFO

    获取该log:读取文件/proc/zoneinfo

    zone info

    SYSTEM LOG(需要着重分析)

    获取该log:执行/system/bin/logcat -v time -d *:v

    会输出在程序中输出的Log,用于分析系统的当前状态

    VM TRACES

    获取该log:读取文件/data/anr/traces.txt

    因为每个程序都是在各自的VM中运行的,这个Log是现实各自VM的一些traces

    EVENT LOG TAGS

    获取该log:读取文件/etc/event-log-tags

    EVENT LOG

    获取该log:执行/system/bin/logcat -b events -v time -d *:v

    输出一些Event的log

    RADIO LOG

    获取该log:执行/system/bin/logcat -b radio -v time -d *:v

    显示一些无线设备的链接状态,如GSM,PHONE,STK(Satellite Tool Kit)…

    NETWORK STATE

    获取该log:执行/system/bin/netcfg (得到网络链接状态)

    获取该log:读取文件/proc/net/route (得到路由状态)

    显示网络链接和路由

    SYSTEM PROPERTIES

    获取该log:参考代码实现

    显示一些系统属性,如Version,Services,network…

    KERNEL LOG

    获取该log:执行/system/bin/dmesg

    显示Android内核输出的Log

    KERNEL WAKELOCKS

    获取该log:读取文件/proc/wakelocks

    内核对一些程式和服务唤醒和休眠的一些记录

    KERNEL CPUFREQ

    (Linux kernel CPUfreq subsystem) Clock scaling allows you to change the clock speed of the CPUs on the fly.

    This is a nice method to save battery power, because the lower the clock speed is, the less power the CPU consumes.

    PROCESSES

    获取该log:执行ps -P

    显示当前进程

    PROCESSES AND THREADS

    获取该log:执行ps -t -p -P

    显示当前进程和线程

    LIBRANK

    获取该log:执行/system/xbin/librank

    剔除不必要的library

    BINDER FAILED TRANSACTION LOG

    获取该log:读取文件/proc/binder/failed_transaction_log

    BINDER TRANSACTION LOG

    获取该log:读取文件/proc/binder/transaction_log

    BINDER TRANSACTIONS

    获取该log:读取文件/proc/binder/transactions

    BINDER STATS

    获取该log:读取文件/proc/binder/stats

    BINDER PROCESS STATE

    获取该log:读取文件/proc/binder/proc/*

    bind相关的一些状态

    FILESYSTEMS

    获取该log:执行/system/bin/df

    主要文件的一些容量使用状态(cache,sqlite,dev…)

    PACKAGE SETTINGS

    获取该log:读取文件/data/system/packages.xml

    系统中package的一些状态(访问权限,路径…),类似Windows里面的一些lnk文件吧.

    PACKAGE UID ERRORS

    获取该log:读取文件/data/system/uiderrors.txt

    错误信息

    KERNEL LAST KMSG LOG

    最新kernel message log

    LAST RADIO LOG

    最新radio log

    KERNEL PANIC CONSOLE LOG

    KERNEL PANIC THREADS LOG

    控制台/线程的一些错误信息log

    BACKLIGHTS

    获取该log:获取LCD brightness读/sys/class/leds/lcd-backlight/brightness

    获取该log:获取Button brightness读/sys/class/leds/button-backlight/brightness

    获取该log:获取Keyboard brightness读/sys/class/leds/keyboard-backlight/brightness

    获取该log:获取ALS mode读/sys/class/leds/lcd-backlight/als

    获取该log:获取LCD driver registers读/sys/class/leds/lcd-backlight/registers

    获取相关亮度的一些信息

    (2)build.prop

    VERSION INFO输出下列信息

    当前时间

    当前内核版本:可以读取文件(/proc/version)获得

    显示当前命令:可以读取文件夹(/proc/cmdline)获得

    显示系统build的一些属性:可以读取文件(/system/build.prop)获得

    输出系统一些属性

    gsm.version.ril-impl

    gsm.version.baseband

    gsm.imei

    gsm.sim.operator.numeric

    gsm.operator.alpha

    (3)dumpsys

    执行/system/bin/dumpsys后可以获得这个log.

    经常会发现该log输出不完整,因为代码里面要求该工具最多只执行60ms,可能会导致log无法完全输出来.

    可以通过修改时间参数来保证log完全输出.

    信息:

    Currently running services

    DUMP OF SERVICE services-name(running)

    Log Code Analysis

    Site: .\frameworks\base\cmds\dumpstate\

    相关Log程序的代码可以从上面目录获取

    Log Analysis Experience

    分析步骤

    1.查看一些版本信息

    确认问题的系统环境

    2.查看CPU/MEMORY的使用状况

    看是否有内存耗尽,CPU繁忙这样的背景情况出现.

    3.分析traces

    因为traces是系统出错以后输出的一些线程堆栈信息,可以很快定位到问题出在哪里.

    4.分析SYSTEM LOG

    系统Log详细输出各种log,可以找出相关log进行逐一分析

    实例分析

    下面分析我写的一个测试例子,在OnCreate做一个死循环,这样主线程会被锁住,在按下硬件的Back之后会出现ANR的错误.

    在traces中发现该程序的堆栈信息如下:

    —– pid 20597 at 2010-03-15 01:29:53 —–

    Cmd line: com.android.test

    DALVIK THREADS:

    "main" prio=5 tid=3 TIMED_WAIT

    | group="main" sCount=1 dsCount=0 s=N obj=0x2aac6240 self=0xbda8

    | sysTid=20597 nice=0 sched=0/0 cgrp=default handle=1877232296

    at java.lang.VMThread.sleep(Native Method)

    at java.lang.Thread.sleep(Thread.java:1306)

    at java.lang.Thread.sleep(Thread.java:1286)

    at android.os.SystemClock.sleep(SystemClock.java:114)

    at com.android.test.main.onCreate(main.java:20)

    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)

    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)

    at android.app.ActivityThread.access$2200(ActivityThread.java:119)

    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)

    at android.os.Handler.dispatchMessage(Handler.java:99)

    at android.os.Looper.loop(Looper.java:123)

    at android.app.ActivityThread.main(ActivityThread.java:4363)

    at java.lang.reflect.Method.invokeNative(Native Method)

    at java.lang.reflect.Method.invoke(Method.java:521)

    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)

    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)

    at dalvik.system.NativeStart.main(Native Method)

    "Binder Thread #2" prio=5 tid=11 NATIVE

    | group="main" sCount=1 dsCount=0 s=N obj=0x2fb7c260 self=0×143860

    | sysTid=20601 nice=0 sched=0/0 cgrp=default handle=1211376

    at dalvik.system.NativeStart.run(Native Method)

    "Binder Thread #1" prio=5 tid=9 NATIVE

    | group="main" sCount=1 dsCount=0 s=N obj=0x2fb7c1a0 self=0x14c980

    | sysTid=20600 nice=0 sched=0/0 cgrp=default handle=1207920

    at dalvik.system.NativeStart.run(Native Method)

    "Signal Catcher" daemon prio=5 tid=7 RUNNABLE

    | group="system" sCount=0 dsCount=0 s=N obj=0x2fb7a1e8 self=0x126cc0

    | sysTid=20599 nice=0 sched=0/0 cgrp=default handle=1269048

    at dalvik.system.NativeStart.run(Native Method)

    "HeapWorker" daemon prio=5 tid=5 VMWAIT

    | group="system" sCount=1 dsCount=0 s=N obj=0x2e31daf0 self=0x135c08

    | sysTid=20598 nice=0 sched=0/0 cgrp=default handle=1268528

    at dalvik.system.NativeStart.run(Native Method)

    —– end 20597 —–

    该文件的堆栈结构从下往上进行分析

    (1)栈底at dalvik.system.NativeStart.run(Native Method)

    系统为当前的task(应用程式)启动一个专用的虚拟机

    (2) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)

    Activity Services是在后台负责管理Activity,它此时将测试例子的Activity启动起来了

    (3)at com.android.test.main.onCreate(main.java:20)

    启动测试程序

    (4)栈顶at java.lang.VMThread.sleep(Native Method)

    线程被sleep掉了,所以无法响应用户,出现ANR错误.

    展开全文
  • 就像再终端输入: adb logcat...用python脚本怎么实现抓取部分log呢 import subprocess import time import os def interceptionlog(action): pro = subprocess.Popen(action,shell=True) time.sleep(30) pro...

    就像再终端输入: adb logcat 一样,log在不断的更新。用python脚本怎么实现抓取部分log呢

    import subprocess

    import time

    import os

    def interceptionlog(action):
        pro = subprocess.Popen(action,shell=True)
        time.sleep(30)
        pro.kill()

    action = "adb shell logcat \" | grep PMXX > /data/a.log\""

    interceptionlog(action)

    这里是通过subprocess.Popen的kill方法实现的。当然对于抓取log的部分,你可以sleep任意的时间,只要满足你的需求就好。

    不过对于 adb logcat 这个命令,我用这种方法没有停下来,杀不死这个进程。后来采用adb 断连, 在重连的方式实现的抓取。

    def interceptionlog(action):
        pro = subprocess.Popen(action,shell=True)
        time.sleep(30)
        pro.kill()

        os.popen("adb disconnect 192.168.1.100")

        os.popen("adb connect 192.168.1.100") # 保险起见,这步可以写方法,重复连接几次。

     

     

    展开全文
  • 1 log文件分类简介实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志状态信息的有:adbshellcat /proc/kmsg ,adb shell dmesg,adb shell dumpstate,adb shell...
  • 总结调试过程中怎么去抓log

    千次阅读 2017-05-12 17:13:43
    开发调试中的办法非常多,LOG是其中重要的一个方法,一些常见的LOG抓取办法(主要针对QUALCOMM平台,未经详细整理):1.ADB查看或保存kernel的启动LOG:kernel log: adb shell dmesg > d:\kerneltestlog.txttips :...
  • 下载4.5版本以上的fiddler如图所示:在rules--customize rules 里面插入以下代码: static function OnWebSocketMessage(oMsg: WebSocketMessage) { // Log Message to the LOG tab FiddlerApplication.Log.Log...
  • Wireshark 是一个很棒的流量分析软件,如今几乎所有的对外的网站和域名都加上了 ...配置方式Chrome 启动设置Chrome 启动参数需要配置如下内容:--user-data-dir 配置用户使用数据--ssl-key-log-file 配置 ssl-key-...
  • # 进入页面中的二级页面的链接,必须利用POST方法才能提交,无法看到直接的URL,同时将本页中抓取的item和进入下一页的POST方法进行传递 # yield Request(url="http://218.92.23.142/sjsz/szxx/Index.aspx", ...
  • 防止恶意ddos抓取攻击

    2015-08-07 12:56:27
    最近公司服务器出现了有人恶意ddos抓取,服务器受到影响。就想怎么解决这个问题思路:在一分钟内请求目标地址频率超过10次或者一个合适的次数,就理解为是被人攻击,然后获取到ip将ip封掉。解决方案:利用fail2ban...
  • 在开发过程中我们一定碰到过需要查看从服务器请求下来的信息是什么样的情况,一般使用log就可以查看,但是有时候当请求下来的信息特别多的时候则不怎么好看了;如果是一般的get请求,只要结合谷歌浏览器的一个数据...
  • > 求问怎么去掉里面的各种标签并且转换成UTF-8呢? > 使用iconv-lite库来转码 > request({ > url: 'http://news.163.com/15/0405/09/AME6CKER0001124J.html', > // 重点,设置 request 抓取网页时不要对...
  • <div><p>什么情况/What happened?</strong></p> <p>MIUI10安卓8.0使用0.4.3.7两个版本无法开机 ...无法开机不知道怎么抓取log</p><p>该提问来源于开源项目:ElderDrivers/EdXposed</p></div>
  • 射频校准过程中,校准工具会卡死不动,怀疑是校准过程中发生了Modem exception , 这个时怎么才能抓取modem log呢? 可以改配置让UART0 输出modem log吗? 解决方法: 一牛网论坛包含大量MT6735/MT6737芯片技术...
  • systrace 的log中标签时间计算原理

    千次阅读 2017-02-24 23:35:04
    抓取的结果是以html形势展现的,而这里要讲的,其实跟Android没有多大关系,只是说抓取的html中,各个标签的时间是怎么得出来的。 当你点击其中的某一个标签,比如应该启动时绘制的activityStart标签,下面就会显示...
  • 请教各位,这个问题应该怎么解决?谢谢!!! 源码: ``` var request = require('request'); var cheerio = require('cheerio'); var iconv = require('iconv-lite'); var async = require('async'); var ...
  • exe直接退出要应该怎么抓取log呢? 接收部分代码如下: DWORD CClient::RecvDataThread(void* pParam) { CClient *pClient = (CClient*)pParam; //pointer to client int reVal; //return value char temp...
  • 手机logging关闭的方法是:1、如果手机显示logging,那么LOG设置中,信息抓取就会是开启状态。2、打开手机的拨号键盘,直接输入星号井号800井号,完成输入后,手机就会自动进入到LOG的设置页面,点击结束抓取即可。...
  • 应用打开就闪退了,这个问题能不能修一修?手机里的应用多了,遇到bug也是在所难免的事。...想让开发者帮你更好地定位并解决遇到的问题,正确地抓取log文件是一项必不可少的技能。Log 文件是什么?Log 是用来记...
  • hs_err_pidXXXX.log文件 于是百度了一下,感觉是jvm内存的问题,就调整了一下: -Xms1024m -Xmx1024m -Xmn600m -XX:PermSize=653m -XX:MaxPermSize=653m -XX:ParallelGCThreads=4 调试过程中发现-XX:PermSize过小...
  • 抓取log信息后发现 ,出现了空指针异常 help_url_fingerprint 这个没有赋值 &lt;!-- Help URL, Fingerprint [DO NOT TRANSLATE] --&gt; &lt;string name="help_url_fingerprint" ...
  • MTK

    2019-10-09 05:09:34
    2:怎么抓取和分析log 3:怎么确定问题点 简介 系统稳定性目前主要是解决系统死机重启。 分为两部分:Android /kernel Kernel 分析需要的文件和工具: Mtklog, vmlinux ,gat工具,解析vmlinux的脚本。 Vm...
  • 2:怎么抓取和分析log 3:怎么确定问题点 简介 系统稳定性目前主要是解决系统死机重启。 分为两部分:Android /kernel Kernel 分析需要的文件和工具: Mtklog, vmlinux ,gat工具,解析vmlinux的脚本。 Vm...
  • python 关于字典结构输出

    千次阅读 2018-08-31 18:20:07
    在近期的项目中,老大要求做一个工具,根据关键字抓取log包中的对应信息。众所周知log中的信息一般类似于a:b的形式,一开始做的时候,我很纳闷,怎么将一句话截取,并挑选出有用的信息。但当我意识到log中信息的排列...
  • 蓄水池算法

    2016-08-13 15:28:28
    有一个网页抓取器每秒钟抓取一个网页,定义一个API,每次调用的时候要等概率的从目前已经抓取的网页中随机选取一个,应该怎么实现? 后台开发中一个服务经常会打出很多log日志,从众多的而且还在不断产生的log 文件...
  • 定时抓取免费代理网站,简易可扩展。 使用 Redis 对代理进行存储并对代理可用性进行排序。 定时测试和筛选,剔除不可用代理,留下可用代理。 提供代理 API,随机取用测试通过的可用代理。 代理池原理解析可见「如何...

空空如也

空空如也

1 2 3
收藏数 47
精华内容 18
关键字:

怎么抓取log