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

原创 2007年09月11日 16:54:00

 

一.     介绍
本文主要介绍在不进入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

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

一.     介绍 本文主要介绍在不进入KITL模式, 使用CeLog工具来调试Windows mobile设备的方法,该方法可以抓到使用DEBUGMSG打出的log信息,注意:本方法只在RET...
  • xiaolei05
  • xiaolei05
  • 2014年01月21日 21:54
  • 759

关于Windows Mobile连接不上电脑的问题的解决方法

对于移动便携设备来说,Windows Mobile(以下简称wm)是在开发中同步电脑的有效工具。涉及到嵌入式的开发,一般都会考虑到使用该同步方式。 首先同步pc硬件上要准备的有开发板,usb连接线,...
  • cwj976277916
  • cwj976277916
  • 2015年09月07日 17:32
  • 3725

Windows Android真机调试无法找到驱动

Windows Android真机调试无法找到驱动安装完Android IDE之后连接真机,adb一直显示找不到设备,可以去PC的设备管理器中查看一下Android设备的状态,是否带有一个问号,这就是...
  • MrXiaGC
  • MrXiaGC
  • 2016年07月05日 10:10
  • 2950

使用TraceView观察Windows PCIE驱动设备加载和卸载过程

本文主要结合TraceView.exe工具,介绍一个典型的KMDF驱动程序的加载和卸载过程。相关理论主要来自《Win7设备驱动程序开发》一书。关于TraceView.exe的使用,可以参考我之前的博客...
  • Sagittarius_Warrior
  • Sagittarius_Warrior
  • 2016年05月06日 16:47
  • 1639

linux设备驱动学习笔记--内核调试方法之proc

/proc 文件系统是 GNU/Linux 特有的。它是一个虚拟的文件系统,因此在该目录中的所有文件都不会消耗磁盘空间。通过它能够非常简便地了解系统信息,尤其是其中的大部分文件是人类可阅读的(不过还是...
  • ITsenlin
  • ITsenlin
  • 2015年02月01日 22:04
  • 3468

《Windows 驱动程序开发与调试》

第一部分:Windows系统架构概览(1小时) 概述Windows 操作系统的架构和系统组件,包括HAL、内核、执行体、系统进程(IDLE、SMSS.EXE、WinLogon.EXE)和子系统等。介...
  • chenchong_219
  • chenchong_219
  • 2014年02月23日 15:22
  • 3022

Windows7驱动调试小Tips

调试是程序开发的根本,最近在做驱动方面的开发,积累的一些调试小点分享给大家,让大家在遇到类似问题时可以迅速解决。...
  • magictong
  • magictong
  • 2014年07月29日 20:13
  • 6229

Linux和Windows设备驱动架构比较

毕业后一直在学操作系统, 有时候觉得什么都懂了,有时候又觉得好像什么都不懂,但总体来说自认为对操作系统实现机制的了解比周围的童鞋还是要多一些。去年曾花了几个星期的晚上时间断断续续翻译了这篇对Linux...
  • flyforfreedom2008
  • flyforfreedom2008
  • 2015年04月08日 21:50
  • 3759

【Window内核驱动开发】——通过符号链接获取真实设备

【我的】Window驱动开发——通过符号链接获取真实设备 作者:zcr214 时间:2016/5/5   我们想要把驱动绑定到指定的盘符,实际是绑定到它对应的真实设备卷,实际上windows用户...
  • zcr214
  • zcr214
  • 2016年11月28日 16:57
  • 1038

linux设备驱动第四篇:驱动调试方法 - 东辉在线的

上一篇我们大概聊了如何写一个简单的字符设备驱动,我们不是神,写代码肯定会出现问题,我们需要在编写代码的过程中不断调试。在普通的c应用程序中,我们经常使用printf来输出信息,或者使用gdb来调试程序...
  • mojianhua0607
  • mojianhua0607
  • 2015年05月19日 18:29
  • 492
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何使用CeLog调试Windows mobile设备驱动
举报原因:
原因补充:

(最多只允许输入30个字)