天天看点

《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之91——BREW手机中的调试模式

版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/6045563

如果手机支持BREW Debug 模式,可以在手机上键入“###BREWDEBUG#”即“###273933284#”来打开调试模式,手机厂商可能会改变这些输入间的值,因此不同手机金融调试模式的方法可能会有不同。在手机上输入不同的按键组合会产生不同的调试信息,如表16-3所示。

输入键值 功能描述
###0# 清除所有的调试标识
###1# 提供了BREW 库指针和堆栈的检验,例如是否指针为空,内存越界,堆节点损坏等等。该操作可能会使应用的UI显示变慢,显示的错误信息一般为“Application Error - Memory Access” ,“Application Error - Memory Corruption” 等
###2# 能够指明当前的网络状态,包括PPP的状态和socket的状态,通过DIAG还可以获得读写操作网络时的错误代码以及ASCII格式的网络包的内容。
###3# 用来显示当前可用的对内存信息,在手机屏幕的左上角会弹出一个小窗口,而且里面的内容会实时更新。
###4# 可以同步的锁定DBGPRINTF(),能够在手机出现问题时正确地看到相应的消息
###5# 给出所有的module列表
###6# 给出所有的堆信息
###7# 给出所有的资源缓存信息
###8# 显示文件缓存信息
###9# 关闭所有缓存的资源文件
###10# 能够清除资源文件的缓存,允许这些资源文件被删除。
###11# 用来测试BREW SMS的消息,并且没有//BREW 的前缀
###324# 只有在BREW 3.1.5以上版本才支持,必须在应用中定义FEATURE_AEE_DEBUGSET,FARF可以显示OEM 和AEE 层的额外的调试信息。该指令可以显示FARF 的使用菜单,开发者可以选择一个或多个FARF 种类。
###69# 软件重启
###666# 硬件重启
###999# 在重启时保存当前的选项设定

表 16-3:进入手机上调试模式的方法和操作指令

对于“###2#”指令而言,其中PPP的包内容需要QXDM工具的解析才能获知具体的含义,对于TCP/IP的包需要Ethereal等工具的解析,手机屏幕上所显示的符号如表16-4所示。

网络状态符号和含义
Socket 相关的网络状态符号 PPP相关的网络状态符号
屏幕显示符号 含义
c 正在连接 ^ 正在打开
C 已经连接 = 已经打开
I 空闲状态 v 正在关闭
b 绑定 # 已经关闭
B 被绑定 睡眠中
R ~ 已睡眠
W 唤醒中
r 接收
w 发送
x
X

表 16-4:网络调试符号及相关含义

继续阅读