當(dāng)前位置:首頁 > 汽車電子 > 汽車電子技術(shù)文庫
[導(dǎo)讀]開發(fā)調(diào)試中的辦法非常多,LOG是其中重要的一個方法,一些常見的LOG的抓取辦法(主要針對QUALCOMM平臺,未經(jīng)詳細(xì)整理): 1.ADB查看或保存kernel的啟動LOG: kern

開發(fā)調(diào)試中的辦法非常多,LOG是其中重要的一個方法,一些常見的LOG的抓取辦法(主要針對QUALCOMM平臺,未經(jīng)詳細(xì)整理):


1.ADB查看或保存kernel的啟動LOG:

kernel log: adb shell dmesg > d:kerneltestlog.txt


tips :dmesg -n 8?????????????? //設(shè)置log的等級

#define KERN_EMERG""/* system is unusable*/

#define KERN_ALERT""/* acTIon must be taken immediately*/

#define KERN_CRIT""/* criTIcal condiTIons*/

#define KERN_ERR""/* error condiTIons*/

#define KERN_WARNING""/* warning conditions*/

#define KERN_NOTICE""/* normal but signIFicant condition*/

#define KERN_INFO""/* informational*/

#define KERN_DEBUG""/* debug-level messages*/


dmesg -s 81920????????????? //設(shè)置LOG的Buffer,默認(rèn)的buffer是8192


2.smem log:

??? 1>、用trace32。trace32無疑是強(qiáng)大的,幾乎可以做任何debug的事情,有高通代碼的兄弟可以在AMSSproducts 76XX oolsdebug目錄下找到smemlog.cmm和smem_log.pl這兩個文件,可以dump出log.
Run “do toolsdebugsmemlog.cmm” from Trace32
Run “perl smem_log.pl > smemlog.txt”


??? 2>、沒有trace32的兄弟也不要灰心,google為我們提供了強(qiáng)大的adb工具。命令如下:

??? adb shell

??? mkdir /data/debug

??? mount -t debugfs debugfs /data/debug

??? cd /data/debug/smem_log

??? cat dump_sym

?? 可以給大家看一下抓下來的部分log

??

3.各種log(實際也包括第1種kernel的啟動日志):

很多人經(jīng)常搞不清楚各種日志文件的作用,什么時候抓這些文件,其實如果你分不清楚的話

?????????????? 最好一起抓了,至少你要分清楚有哪些日志文件需要抓。


??? log文件分為實時打印的,還有狀態(tài)信息的兩種

實時打印的主要有:logcat main,logcat radio,logcat events,tcpdump,還有高通平臺的還會有QXDM日志



??? 狀態(tài)信息的有:adb shell dmesg,adb shell dumpstate,adb shell dumpsys,adb bugreport


??? 講解一下各自作用:


??? 通過DDMS抓的其實跟用dos批處理抓的一樣都是logcat的日志文件,ddms抓的通常是main緩存中的,就是應(yīng)用程序打印的日志文件。不過 ddms好處在于能夠?qū)崟r看到帶有顏色的,如果是用dos批處理只能重定向到文件,到抓完之后才能夠看到,不是實時的。

??? DDMS是調(diào)試應(yīng)用的最重要的一個LOG工具了。



??? adb logcat -b main -v time>app.log? 打印應(yīng)用程序的log



??? adb logcat -b radio -v time> radio.log 打印射頻相關(guān)的log,SIM STK也會在里面,modem相關(guān)的ATcommand等,當(dāng)然跟QXDM差的很遠(yuǎn)了。



??? adb logcat -b events -v time? 打印系統(tǒng)事件的日志,比如觸屏事件。。。



??? tcpdump 是很有用的,對于TCP/IP協(xié)議相關(guān)的都可以使用這個來抓,adb shell tcpdump -s 10000 -w /sdcard/capture.pcap,比如抓mms下載的時候的UA profile,browser上網(wǎng)的時候,使用proxy的APN下載,streaming的相關(guān)內(nèi)容包括UA profile等。



??? 最后是高通平臺的QXDM,不管是不是Android,只要使用高通芯片,都會對它很熟悉,當(dāng)然了,不是高通的芯片就不用提它了。這個不多講,內(nèi)容豐富,射頻,電話,上網(wǎng),...凡是高通提供的解決方案,這個都可以抓。



??? 狀態(tài)信息:其實一個就夠了,那就是bugreport(命令adb bugreport>bugreport.log)。里面包含有dmesg,dumpstate和dumpsys。dmesg(命令adb shell dmesg > ldmesg_kernel.log)是kernel的log,凡是跟kernel相關(guān)的,比如driver出了問題(相機(jī),藍(lán)牙,USB,啟動,等等吧)。 dumpstate是系統(tǒng)狀態(tài)信息,里面比較全,包括手機(jī)當(dāng)前的內(nèi)存信息、cpu信息、logcat緩存,kernel緩存等等。adb shell
dumpsys這個是關(guān)于系統(tǒng)service的內(nèi)容都在這個里面,這個命令還有更詳盡的用法,比如db shell dumpsys meminfo system是查看system這個process的內(nèi)存信息。



還有其他的比如PV的log,一般都是開發(fā)人員自己寫的,可能讓你放到sd卡里面,其他的不足或需要補(bǔ)充的期望您的指導(dǎo)。



4.查看用戶空間的WAKELOCK:

cat /sys/power/wake_lock


cat /proc/wakelocks


5.MODEM端的LOG最主要的是QXDM,這個用QUALCOMM平臺的人都知道;

手機(jī)在MODEM端crash時的QXDM LOG的獲取通過如下辦法

crash F3 log:

To get F3 trace from Trace32

1>.Run recover_f3.cmm or getf3trace.cmm with Trace32 connected or the Trace32 Simulator when the appropriate ELF/ramdump is loaded

2>.Run “perl FormatTrace32F3Trace.pl trace0001.txt > f3.txt”; this generates a nicer looking f3.txt than raw trace0001.txt



To get F3 trace from trace data stored to EFS

1>.Get the file of F3 saving from EFS by using QPST EFS Explorer

err_f3_index00.F3for MSM6xxx

apps_err_f3_index00.f3, modem_err_f3_index00.F3for MSM7xxx

2>.Run recover_f3.cmm or process_efs_trace_file.cmm

3>.Run “perl FormatTrace32F3Trace.pl trace0001.txt > f3.txt”



test 1>.run trace32 simulate,load elf,do do recover_f3.cmm

2>.perl FormatT32F3Trace.pl f3tokens.txt msg_hash.txt > f3log.txt??? (Linux,windows
should intall perl.)(QSRMessageHash.qsr as msg_hash.txt)


上面都是直接可以使用的LOG獲取辦法;另外還有一些LOG的獲取辦法需要自己稍微修改,只列舉幾個我曾經(jīng)使用過的例子。

1.LCD,這個是在bootloader使用的。

????? 在MODEM或Android的APPSBL里面可以直接寫LOG到LCD,這個需要自己轉(zhuǎn)換字庫點陣到位圖,還有位圖到LCD的畫屏。

????? 在linux的kernel也可以指定console到LCD。直接查看kernel的啟動LOG。

2.FLASH文件系統(tǒng),這個使用當(dāng)然必須在文件系統(tǒng)OK后。這個我是在USB失效時,或者遇到抓取一些不能使用USB條件的LOG:

?????? MODEM端可以寫LOG文件到EFS。

?????? linux端可以寫LOG文件到SD卡。

3.串口。這個我也是把linux kernel的console指定到qualcomm的hs uart2上,抓取kernel的啟動日志的

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉