模拟器运转后,就能够调试程序了。运用Evc调试和VC++很相似。能够设置断点,点击调试后就在东西栏中呈现调试按钮,能够进行单步调试,检查线程和模块信息,以及捕获反常。
PB中发动模拟器后,能够运用Kerneldebugger检查体系内部信息。运用target control窗口进行内核调试。这是一个指令行形式的shell:
Welcome to the Windows CE Shell. Type ? for help.
Windows CE>
经过?指令能够检查支撑的指令选项。能够检查体系进程和线程信息,内存信息,能够发动新的进程和封闭之。还能够挂起设备等。也能够在鼠标右键的弹出菜单中挑选相应的项,经过特定窗口观察,比指令便利一些。在输出窗口中会显现每一个程序运转时加载的DLL库。
详细的调试状况需求在实践中不断探索。下面我就介绍一下evc和pb中均供给的十大长途调试东西。
1.Remote File Viewer
长途文件浏览器。
这个东西相似于Windows Explorer,能够显现WinCE方针设备上的目录层次和文件。经过这个东西,能够在主机和方针机之间互传文件,也能够删去方针设备上的文件。运用这个东西,便利了程序的下载和调试。
2.Remote Process Viewer
长途进程检查东西
这 个东西能够检查WinCE上一切运转的进程以及它的现成的信息。包含进程的称号,PID,进程根本优先级,进程的线程数,进程基地址和拜访键值,窗口名 称;线程ID,线程的当时进程ID(由于有的线程需求其它的进程来加载模块),线程优先级,线程拜访键值;模块称号和ID,模块的进程运用计数,大局运用 计数,基地址和巨细,模块的句柄和途径称号等。
在这个东西中能够看到,每个进程的地址空间是32MB,中心进程NK.exe从4000 000开端,所以体系将第0和1两个槽来加载当时进程。在WinCE4.0曾经只要第0个槽。现在的第1个槽用于当时进程运用的DLL,而且确保不好其它进程运用的DLL发生冲突。
3.Remote Zoomin
这个东西能够抓取方针设备的屏幕图画,能够保存为位图文件或到剪切板上。
4.Remote Registy Editor
长途注册表修改器
这个东西能够显现主机和方针机的注册表,能够修改注册表或导出注册表。关于检查方针设备的驱动程序装备信息很有用。网上也有下载WinCE下的注册表修改器。
5.Remote Heap Walker
长途堆检查器
这个东西能够列出方针机上一切运转的进程和他们的堆的运用状况。每个进程开端时,体系只供给192KB的堆,且不马上供给物理内存。程序能够请求更大的堆。WinCE分配的堆是不能移动的,所以要频频的分配和开释内存,最好自己预先分配一个大堆,用完后开释。
这个东西显现每个进程分配的堆ID,堆的块地址和巨细以及堆的创立标志。HF32_DEFAULT表明是体系默许创立的堆。块的标志有fixed和free两种。前者表明不能开释,后者表明能够开释,这是给内存办理单元看的 。