如果手机支持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:网络调试符号及相关含义