在wince6.0用vs2005下远程调试c#代码断点空心问题解决方式

用VS2005开发基于Compact Framework的手机软件有一阵子了,由于资料太少,出了很多稀奇古怪的问题,好在在玩Kylix开发的时候已经都把人磨练成熟了,因此慢慢查找原因也基本靠自己的力量一一解决,现在把这些问题记载下来,给以后同好者遇到相同问题的时候参考。

    先说一个最奇怪的问题,就是VS2005原始版本开发WM5软件的时候用模拟器调试,一切OK,单步跟踪一切正常。但是换到我的577W的真机环境下,可以执行,却不能调试。一旦启动调试,VS2005就报“当前不会命中断点。尚未加载指定的模块。”,如下图:

    这样我们就无法调试了,起先我在网上查资料说是没有加载调试信息的原因,但是在模拟器中调试是正常的,在真机上也能正常运行,就是无法调试,后来通过读取577W的注册表[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETCompactFramework]下我发现我手机安装的CompactFramework版本为2.0.7045.00即2.0SP2版本,而VS2005带的是2.0.5238.0,因此版本不一致,可能调试信息就无法加载。

VersionRelease
1.0.2268.01.0 RTM
1.0.3111.01.0 SP1
1.0.3226.01.0 SP2 (Recalled)
1.0.3227.01.0 SP2 Beta
1.0.3316.01.0 SP2 RTM
1.0.4177.01.0 SP3 Beta
1.0.4292.01.0 SP3 RTM
2.0.4037.02.0 May CTP
2.0.4135.02.0 Beta 1
2.0.4317.02.0 November CTP
2.0.4278.02.0 December CTP
2.0.5056.02.0 Beta 2
2.0.5238.02.0 RTM
2.0.6103.02.0 SP1 Beta
2.0.6129.02.0 SP1 RTM
2.0.7045.02.0 SP2 RTM
3.5.7066.03.5 Beta 1
3.5.7121.03.5 Beta 2

 

    原因找到了,我们有2种解决方法,一个是卸载577W的CF框架,然后用VS2005来部署CF即可,这种方法适用于那些ROM不带CF2.0的手机,如果是WM6的手机,因为都带了CF2.0sp2,因此这种方法不可行。因此最好的方法是通过PC机上的增加删除程序,卸载Compact Framework2.0框架,然后从微软站点下载上述表格中跟你手机相匹配的CF框架可再发行包,安装在你VS2005的计算机上即可调试。

    经过试用,效果良好,彻底解决了VS2005在真机上调试的问题。(模拟器上调试良好是因为模拟器本身不带2.0CF框架,是VS2005部署上去的),另外我强烈建议卸载VS2005原来自带CF2.0框架的原因是,2.0.5238版本的CF的CAB有点问题,只能安装在机身上,不能安装在卡上,安装完后577W机身存储不过2M了,完全不能用。而2.0sp1以后的版本都可以安装在卡上,极大的节省了机身存储空间。

转载于:https://www.cnblogs.com/280850911/archive/2012/03/30/2425561.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值