基于WinCE模拟器的应用程序调试

news/2024/7/10 0:37:33 标签: wince, blog, manager, 文档, network, 微软

 我在以前的blog中介绍过WinCE模拟器的使用,应该说在WinCE模拟器上面调试应用程序还是比较方便的。今天就在这里介绍一下如何在WinCE模拟器上面调试应用程序。

 

在这里我假设你的PC上面什么工具都没有,也没钱买。那么你就去微软的网站上面注册,然后就可以下载WinCE6.0和VS2005的评估版了,下载后安装,然后将你的WinCE6.0升级到WinCE6.0 R2,具体步骤参见我以前的Blog:如何安装WinCE6.0。最后还要从微软的网站上下载ActiveSync并安装。

 

现在,我认为你已经完成了WinCE6.0 R2的安装,你就可以打开VS2005创建一个WinCE的工程,在选择BSP的时候请选择”Device Emulator: ARMV4I”,在选择模板的时候请选择”PDA Device”,然后选择”Mobile Handled”,完成后默认是Debug模式,切换成Release模式然后编译,编译成功以后,需要配置模拟器并最终将编译好的WinCE下载到模拟器中运行,具体步骤参见我以前的Blog:WinCE Emulator使用介绍。

 

首先介绍模拟器上WinCE的配置:

1. 当WinCE在模拟器中运行以后,选择Start->Settings->Control Panel,如图:

 

 

2. 在弹出的控制面板对话框中选择Network and Dail-up Connections,然后双击Make New Connection,在连接类型中选择Direct Connection,如图:

 

 

3. 选择Next,然后选择Serial Over DMA,如图:

 

 

4. 最后选择Finish就创建了一个新的连接。创建完成后,重新回到控制面板界面选择PC Connection,在弹出界面中选择Change,然后选择刚刚添加的My Connection,如图:

 

 

5. 完成后点击OK按钮,然后关闭控制面板,现在模拟器设备已经配置好了。

 

下面介绍ActiveSync的配置:

1. 安装ActiveSync并运行,在菜单中选择File,然后选择Connect Settings,按照下图进行设置:

 

 

2. 设置完成后选择OK,在VS2005环境中选择Tools,然后选择Device Emulator Manager,会弹出一个应用界面,点击界面上的refresh按钮刷新,如图:

 

 

3. 选择当前的仿真设备,并又击选择Cradle,此时会看到ActiveSync进行连接,如图:

 

 

在连接成功以后,就可以在ActiveSync中访问模拟器上运行的WinCE中的文件了,此时基于模拟器的应用调试环境已经基本建立起来。

 

下面创建个应用程序调试一下:

1. 首先要做的就是基于先前创建的WinCE工程,导出SDK,具体步骤不介绍了,在导出SDK并安装以后,就可以基于导出的SDK来创建一个应用程序。重新打开一个VS2005,然后新建一个项目,具体如图:

 


 

2. 输入名称以后,就Next,在选择平台SDK的时候,可以只选择自己订制的WinCE的SDK,这里我订制的WinCE的SDK叫EmulatorSDK,如图:

 


 

3. 然后选择Next,可以选择单文档,多文档,基于对话框,你随便吧,最后点完成。下面就和以前在PC上面编写VC程序一样了,简单点,添加个按钮,然后弹出一个MessageBox来,在完成以后,就可以编译并调试了,按F5就可以。如果程序编译没有错误,就会被下载到模拟器上面运行,这个过程需要等一会,然后你就会在你的模拟器上面看到你刚刚编写的应用程序了,如图:

 

 

如果你的应用程序是Debug模式,那你可以在你的应用程序中设置断点,程序执行到后会停下来,然后可以单步跟踪,都没有问题。

 

不知道前面说明白了没有,总之,只要安装了VS2005和WinCE6.0 R2之后就可以完全在PC上的模拟器上面调试WinCE内核和应用程序,可以自己定制内核,导出自己的SDK,并用自己的SDK来编应用程序和调试。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/nanjianhui/archive/2009/01/13/3769519.aspx


http://www.niftyadmin.cn/n/1516901.html

相关文章

接口中的成员只有静态常量和什么_浅析java中的接口

接口相当于特殊的抽象类,定义方式、组成部分与抽象类类似。interfacee 没有构造方法,不能创建对象,但是抽象类是可以创造对象的只能定义:公开静态常量、公开抽象方法(不过一般不需要声明,他们自己会默认&am…

月赛小结

昨天月赛,被虐了~~~我了个去。。。真悲剧。。。。 就做出来一道题,虽然很水,但貌似也没几个人做出来,这次比赛暴露了很多问题。。。简单总结一下吧。 首先就是读题,有道题一直wrong就是因为读错了,人家说都…

PMDK libpmemobj 例程1 读写持久化内存

(1) write and read the persistent memory Key : PMEMobjpool pmemobj_create() // 创建持久化内存池 PMEMobjpool pmemobj_open() // 打开已创建的持久化内存池 PMEMoid pmemobj_root() // 得到持久化内存池的根节点 pmemobj_direct() // 得到根节点的指针 pmemobj…

verilog 中forever always_求职攻略| 8个case学会FPGA中的阻塞与非阻塞

不想错过我的推送,记得右上角-查看公众号-设为星标,摘下星星送给我笔试、面试中,有很多大家很容易迷惑的知识点,其中就有阻塞与非阻塞相关的问题。熟悉Verilog语言的同学都知道一个规范:在always块中描述组合逻辑电路时…

NYOJ-422 字串和之差

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid422 解题思路: 这道题读完题应该就知道是一道动态规划题了,和做过的题类似的有一道求连续个数的最大值(有正,有负)。而这道题多了一个条件&a…

PMDK libpmem 例程1 变量写入持久化内存

变量写入持久化内存 libpmem是一个低层次持久化内存的库,当需要持久化存储的时候,需要手到flush,所以通常开发者采用libpmemobj更方便。flush在linux中指的是fsync()或msync()函数。 Key: addr pmem_map_file() // 创建持久化…

sql2000数据类型对应的数值_JVM规范系列之数据类型

数据类型、类加载机制、JVM内存模型,很多人在面试中都会遇到这一类的问题。大部分人都是死记硬背,背完就忘。究其原因,是对JVM规范的不了解,没有内功,招式只是花架子。本篇是JVM系列的开篇,将从数据类型开始…

NYOJ-448 寻找最大数

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid448 解题思路: 类似贪心的算法。 对这个字符串进行查找,每次查找最大值,查找len-m次即可。 但查找的时候需要考虑查找范围,比如9222225,第…