• 在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.0 1.0 RTM
    1.0.3111.0 1.0 SP1
    1.0.3226.0 1.0 SP2 (Recalled)
    1.0.3227.0 1.0 SP2 Beta
    1.0.3316.0 1.0 SP2 RTM
    1.0.4177.0 1.0 SP3 Beta
    1.0.4292.0 1.0 SP3 RTM
    2.0.4037.0 2.0 May CTP
    2.0.4135.0 2.0 Beta 1
    2.0.4317.0 2.0 November CTP
    2.0.4278.0 2.0 December CTP
    2.0.5056.0 2.0 Beta 2
    2.0.5238.0 2.0 RTM
    2.0.6103.0 2.0 SP1 Beta
    2.0.6129.0 2.0 SP1 RTM
    2.0.7045.0 2.0 SP2 RTM
    3.5.7066.0 3.5 Beta 1
    3.5.7121.0 3.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以后的版本都可以安装在卡上,极大的节省了机身存储空间。

  • 相关阅读:
    微信小程序保存图片功能实现
    小程序清除缓存功能如何实现
    小程序自定义函数—数字千位转换
    小程序身份证号检测函数
    小程序 的 textarea 组件 层级问题如何解决
    Markdown 语法背一下咯
    跨域了解一下?
    sort命令的k选项大讨论【转】
    Shell脚本中实现切换用户并执行命令操作【转】
    Ansible Tower系列 四(使用tower执行一个命令)【转】
  • 原文地址:https://www.cnblogs.com/280850911/p/2425561.html
Copyright © 2020-2023  润新知