域格模组抓取log解析dump方法

域格模块:log抓取与dump解析实战
本文详细介绍了如何抓取和解析域格模块的log与dump,包括使用CATStudio工具抓log,通过特定步骤抓取与解dump,以及面对不同死机重启情况的处理方法,为模块调试提供有效路径。

域格模块抓取log解析dump方法


前言

调试模块会遇到形形色色的问题,抓取log解析dump是追踪问题最重要的捷径之一
log是指系统日志,通常是系统或者某些软件对已完成的某种处理的记录。普通log:主要用于分析系统问题、软件兼容性问题、停止运行类问题等;通信log:主要用于分析通话、数据网络、wifi等问题有效的log可以记录你操作全过程和系统相应信息,工程师分析log后便可以知道问题发生的环境及原因,有利于问题的解决。
dump一般译作转储,因为程序在计算机中运行时,在内存、CPU、I/O等设备上的数据都是动态的(或者说是易失的),也就是说数据使用完或者发生异常就会丢掉。如果我想得到某些时刻的数据(有可能是调试程序Bug或者收集某些信息),就要把他转储(dump)为静态(如文件)的形式。否则,这些数据你永远都拿不到。

链接:https://www.zhihu.com/question/285731828/answer/455335550


一、抓取log

catstudio这个软件是ASR系列模块抓log工具,打开 CATStudio工具,工具会自动识别 DAIG 口
在这里插入图片描述
相关的log信息可以通过页面查看。

二、抓dump的相关步骤

1.抓dump准备事项:

模块问题复现前,发送at+log=21,0。
模块重启或死机之后,获取不到问题dump,发送指令之后模块出现死机或重启模块会进入下载口,会保存DUMP LOG模组产品。
模块问题复现时,如果之前有使用modem口(发AT命令)的工具,请断开其对modem口的连接

2.抓dump事项

步骤一:模块问题复现后,设备管理器出现下载口,选择teraterm-4.73文件内ttermpro.exe双击打开
在这里插入图片描述
步骤二:连接下载口输出dump:
在这里插入图片描述
在这里插入图片描述
步骤三:在刚刚新建的连接窗口的菜单File中选择change directory,选择dump文件保存的位置
在这里插入图片描述
步骤四:在新建的窗口菜单选择 File Transfer YMODEM Receive
在这里插入图片描述
步骤五:传输窗弹出,开始传输bin,结束后传输窗自动关闭。
在这里插入图片描述

3.解dump

步骤一:生成的dump文件
在这里插入图片描述
步骤二:复制全部生成的bin文件替换到simarm_038\1601_dump文件夹下并双击eecontext.bat文件
在这里插入图片描述
步骤三:打开解dump工具——t32marm.exe
在这里插入图片描述
步骤四:选择解dump文件,点击打开
在这里插入图片描述
在这里插入图片描述

常见的死机或重启情况

线程里初始化里添加OSATaskSleep接口
在这里插入图片描述

OSA_ASSERT使用空指针
在这里插入图片描述

at指令例程出现重启,需要释放串口
在这里插入图片描述

open程序拨通电话会出现重启,需要ims相应的flash问题

Core Dump(核心转储)是操作系统在进程接收到某些信号而异常终止时,将其当前运行时的内存状态、寄存器状态、堆栈指针、内存管理信息等全部数据保存到一个磁盘文件中的过程,生成的文件通常命名为 `core` 或 `core.<pid>` [^2]。以下是不同场景下 coredump 抓取日志的方法: #### Linux 系统 - **配置 coredump 文件压缩**:在 `sysctl.cfg` 里配置 `kernel.core_pattern=|/usr/bin/coredump_helper.sh core_%e_%I_%p_sig_%s_time_%t.gz` 和 `kernel.core_uses_pid=1`,然后增加处理 coredump 文件的脚本,最终会在 `/var/coredump` 目录下生成压缩后的文件 [^1]。 ```bash #!/bin/sh mkdir -p /var/coredump gzip > "/var/coredump/$1" ``` - **使用 systemd-coredump 抓取 core 文件**:执行 `ulimit -c unlimited` 并配置 `kernel.core_pattern`,不过 `%P` 可能存在安全隐患,可以使用 `%F` [^5]。 ```bash ulimit -c unlimited sysctl -a | grep patt kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %e ``` #### Android 系统 使用 `setcoredump` 工具,执行一条命令即可开启 coredump 功能,具体使用方式如下 [^3]: ```bash test:/ # setcoredump setcoredump: should have an option value as bellow: Usage: setcoredump -h: show this help message. setcoredump -f: enable full dump on this device. setcoredump -n: enable normal dump on this device. setcoredump -p [pid] : enable normal dump for one process [pid]. setcoredump -f -p [pid]: enable full dump for one process [pid]. core file directory: /data/core/ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值