关闭

如何使用CeLog调试Windows mobile设备驱动

1484人阅读 评论(0) 收藏 举报

 

一.     介绍
本文主要介绍在不进入KITL模式, 使用CeLog工具来调试Windows mobile设备的方法,该方法可以抓到使用DEBUGMSG打出的log信息,注意:本方法只在RETAIL版本上实验通过。
二.     工具
Platform Builder
 Readlog.exe
CeLogStopFlush.exe
Readlog.exe可以在路径:_WINCEROOT/SDK/BIN/I386下面找到,CeLogStopFlush.exe
的源代码可以在_WINCEROOT/Public/Common/SDK/Samples/CeLog/Flush/Stopflush找到,使用build –c可以生成CeLogStopFlush.exe。
三.     步骤
1.建立一个Start Log的快捷方式,具体新建一个文件,复制下面的语句:
83#/Windows/celogflush.exe -buf 0x100000 -time 60000 -n /celog.clg -z 0x00800000 -ui 1
将其重命名为Start Log.lnk
2.检查手机的/Windows目录是否有以下两个文件CeLog.dll and CeLogFlush.exe,如果没有的话,将它们拷贝到/Windows目录(release目录可以找到)
3.拷贝Start Log.lnk和CeLogStopFlush.exe到开始菜单中,修改注册表,增加或修改下面的键值。(注意ZoneCE是16进制的)
[HKEY_LOCAL_MACHINE/System/CeLog]
    "Transport"="LocalFile"
    "FileName"="celog.clg"
    "ZoneCE"=dword:800000
4.点击Start Log开始抓log
5.点击CeLogStopFlush.exe停止抓log
6.将根目录下生成的celog.clg文件拷贝到PC机与Readlog同一级目录
7.打开DOS命令行,转到Readlog.exe目录中,输入下面的命令:
Readlog.exe celog.clg celog.log
8.使用文本工具查看celog.log中的log信息,下面是一个log的实例。
0:02:58.696.000 : ID=8193, Len=   4
 0:02:58.697.000 : DEBUGMSG: PID:0x842f0200 TID:0x86bb1000 RaiseException: Thread=86bb1000 Proc=842f0200 'device.exe'
 0:02:58.697.000 : DEBUGMSG: PID:0x842f0200 TID:0x86bb1000 AKY=00004005 PC=03fc1b98(coredll.dll+0x00063b98) RA=8400c470(NK.EXE+0x0000c470) BVA=00000001 FSR=00000001
 0:02:58.698.000 : DEBUGMSG: PID:0x842f0200 TID:0x86bb1000 RaiseException: Thread=86bb1000 Proc=842f0200 'device.exe'
 0:02:58.698.000 : DEBUGMSG: PID:0x842f0200 TID:0x86bb1000 AKY=00004005 PC=03f7c498(coredll.dll+0x0001e498) RA=8400c470(NK.EXE+0x0000c470) BVA=00000001 FSR=00000001
 0:03:01.224.000 : DEBUGMSG: PID:0x842f0200 TID:0x877eec20 DoPort1Request: failed, dwWait=0x102, primitive asked=0x1040, returned=0x1040
 0:03:01.224.000 : DEBUGMSG: PID:0x842f0200 TID:0x877eec20 GTI_IOControl: Retrying GTI_Port1Ioctl, retry 0
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9454次
    • 积分:155
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:1篇
    • 译文:0篇
    • 评论:2条