找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

高通蓝牙ADK - 离线log

2020-11-20 14:43| 发布者: 大大通| 查看: 3316| 评论: 0|来自: 大大通

摘要: 大家是否还在连着线debug,一次次操作复现问题吗?是否还在努力回忆复现步骤的情形吗?是否还在为小几率死机而抓不到log的问题烦恼吗? 不用担心,它,它,它来了。无须接线,帮您轻松记录每次死机log;无须及时提 ...

       大家是否还在连着线debug,一次次操作复现问题吗?是否还在努力回忆复现步骤的情形吗?是否还在为小几率死机而抓不到log的问题烦恼吗?

       用担心,它,来了。须接线,帮您轻松记录每次死机log;须及时提取,只要不重烧,log永久保存,想什么时候取就什么时候取;自定义容量存储空间,不放过任何一个死机log;步骤单省心,为您记录每个宝贵log;还在等什么,赶紧拿起耳机操作吧。 

       第一步:添加宏定义INCLUDE_GAIA_PANIC_LOG_TRANSFER


       第二步:分配存储log的分区

在工程配置中查看目前工程用哪个分区文件


在目录下找这个使用的分区文件


默认的分区文件是有划分这部分功能的,没有的可以自行添加,不需要的也可以删除,添加时最好添加到rw_fs分区后面


       第三步:设置panic(非必须步骤)

为了快速测试该功能,小编在一个单击按键处理事件中添加一个panic


同时为了让panic可以自动复位,小编把panic后的动作设为重启


完成以上,烧录后连上手机,单击按键就能死机了

       第四步:取出log内容

这里可以接上线,用Python指令提取出来:apps0.extract_debug_partition()

但是我们不要线,不要线,要钱,钱~

这样就需要用到上一篇说到的APP,在C:\qtil\ADK_Toolkit_1.1.1.38_x64\apk路径下。安装后并打开,选择连接目标设备,连接完成之后,点击download panic log


这时弹出来的界面选择download


下载完成后,右上角就出现两个图标,一个是分享log,把log通过分享的方式发出(不分享找不到那个下载出来的文件╮(╯▽╰)╭)。目前小编建议用邮件方式发出,因为别的方式有可能发不出或更改了名字。第二个是清除log,用来删除耳机中已经记录的所有log消息(在未得到log文件之前,慎重点击)。完成这一步之后,你大概会觉得可能要换手机了,因为有点卡,emmmmm~


       第五步:分析log

在上一步得到的log文件是一个.xed后缀的文件,这个文件需要Python调用脚本和工程里的.elf文件(在对应工程的depend_debug_qcc514x_qcc304x文件夹里)进行解析。

重点:.elf文件必须和当初烧到耳机里的软件的版本对应,重新编译的都不行。也就是说每次烧录完之后,最好要在工程中找到这个.elf文件,另存起来

提取log的指令其实和debug的指令差不多,只是换了个接口而已。这里直接放一个批处理指令给大家参考,大家直接修改对应的路径上去就好了

set PYTHOM_PATH=C:\qtil\ADK_Toolkit_1.1.1.38_x64\tools\pyenv37\Scripts\python.exe
set PYDBG_PATH=C:\qtil\ADK_Toolkit_1.1.1.38_x64\tools\pyenv37\Scripts\pydbg.py
set ELF_PATH=E:\qcc514x-qcc304x-src-1-0_qtil_standard_oem_earbud\earbud\workspace\QCC3046-AA_DEV-BRD-R2-AA\depend_debug_qcc514x_qcc304x\earbud.elf
set XED_PATH=C:\Users\k\Desktop\earbuds_panic_log.xed
start cmd.exe /k  %PYTHOM_PATH% %PYDBG_PATH% -d xed:%XED_PATH% -f apps1:%ELF_PATH%

       第六步:查看log

运行批处理之后,如果正确就出现以下显示,输入apps,再按Tab建就能看到有多少log能看。每个panic事件为一个log,apps1e0为第一个保存的log,以此类推。


查看log也和debug指令差不多,只是前缀要改成对应的名称,例如我要看第二个panic事件的stack,就要输入apps1e1.statck(),这样我们就能看到panic出现在哪个函数了,其他指令以此类推。但保存的内容只有P1的registers, stack, memory, 和log。所以指令只能用和这些相关的。

来源:https://www.wpgdadatong.com/cn/blog/detail?BID=B2149
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

路过

雷人

握手

鲜花

鸡蛋

相关阅读

最新评论

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2024-4-25 16:00 , Processed in 0.086587 second(s), 16 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部