天天看點

《BREW進階與精通——3G移動增值業務的營運、定制與開發》連載之90——BREW中的調試資訊

版權聲明:本文為半吊子子全棧工匠(wireless_com,同公衆号)原創文章,未經允許不得轉載。 https://blog.csdn.net/wireless_com/article/details/6045553

作為原始的調試方式,開發者可以使用幫助函數中的DBGPRINTF()在應用中的任何位置将調試資訊列印到模拟器的輸出視窗中。模拟器的輸出視窗還會顯示大量的AEE層運作時産生的資訊,這些資訊的含義如表16-1所示。

辨別 含義
#*gBI BREW 進行初始化
#*gEX 退出BREW
#*gST=<ClassID> 發送EVT_APP_START啟動ClassID為辨別的應用
#*gSU=<ClassID> 發送EVT_APP_SUSPEND挂起ClassID為辨別的應用
#*gRE=<ClassID> 發送EVT_APP_RESUME恢複ClassID為辨別的應用
#*gCL=<ClassID> 發送EVT_APP_STOP停止ClassID為辨別的應用
#*gXX 關閉所有的BREW應用
#*g**=<ErrorNum> 錯誤代碼為ErrorNum的BREW異常
#*g*C=<ClassID>:<ErrorNum> 在建立ClassID應用或接口時産生的錯誤代碼是ErrorNum
#*p:ECode:<Event>,Key:<Code> 按鍵事件

表 16-1:模拟器輸出視窗調試資訊的含義

下面再舉一些例子,并解釋一下:

#*gST=16809984                               啟動了ClassID為16809984的一個BREW應用

#*p:ECode:101, Key:e035                   使用者按下了“select”鍵,相應産生了AVK_SELECT 的EVT_KEY_PRESS事件

#*p:ECode:100, Key:e035       使用者按下了“select”鍵,相應産生了AVK_SELECT 的EVT_KEY事件

#*p:ECode:102, Key:e035                   使用者按下了“select”鍵,相應産生了AVK_SELECT 的EVT_KEY_RELEASE事件

#*gSU=16809984                               手機或模拟器挂起了ClassID16809984的一個BREW應用

#*gCL=16809984                               由于ClassID為16809984的應用沒有處理EVT_APP_SUSPEND 事件,手機或模拟器關閉了該應用

#*g*C=101402c:3                   在建立ClassID為0x101402c 的應用或接口時傳回了ECLASSNOTSUPPORT 錯誤

開發者如果能夠清楚地知道這些資訊的含義,對應用的調試将有很大的幫助。