本文適用範圍
問題/功能描述
如何控制輸出synergy的調試信息
實現方案
藍牙協議更換為synergy後,經驗包需要更新下,先前的技能基本都要淘汰了,後面會有一系列文章對新協議使用做介紹。
本篇主旨是最基本也是使用頻率最高的如何控制調試信息輸出?
由於synergy以獨立軟體包適配到QCC平台,是一個獨立工程角色存在於項目中。和earbud、headset應用是同級。所以它的控制也獨立於應用層需要單獨控制的。
1.debug總開關
CSR_LOG_ENABLE,默認是已經打開的,通過編譯代入參數
2.profile log輸出等級設置
使用debug_log_level_synergy全局變量控制,允許調試時實時調整輸出等級。
默認等級SYNERGY_DEFAULT_LOG_LEVEL支持(0··~5)
3.Pydbg接口控制方式
apps1.fw.gbl.debug_log_level_synergy.value=5
value取值依然是0到5,日誌信息依次增多。這樣在調試狀態可以實時控制
常見問題
1.MDE中怎麼看不到SynergyLogPrint函數實現?
SynergyLogPrint函數所在源文件,默認沒有加載到工程中,所以MDE中找不到該函數的實現。不影響使用,此函數也無需關注修改
2.MDE中怎麼看不到CsrLogTextRegister2函數實現
原因同上
3.為什麼log列印都是顯示灰色不可用狀態
由於CSR_LOG_ENABLE是在編譯中自動導入,所以在MDE中看不到它的定義,代碼展示時會把相關代碼灰色顯示,容易產生誤解,可以顯式的在代碼中定義,方便代碼瀏覽
4.在調試時是不是可以調用這些接口
在synergy目錄下有文件synergy\tools\pydbg_script_loglevel.py,可以在pydbg調試將其加載上,可以提供一組log輸出控制接口使用。具體可以參看源碼文件注釋
5.有沒有官方文檔介紹說明
有的可以參考文檔80_13827_1,80-34461-1
評論