使用VS2005开发 mobile无法调试的解决方法


  在VS2005下使用C#进行mobile开发,如果遇到可以打断点,但是当调试的时候,却无法进入断点,而断点由原来的实心圆变为空心圆,并提示"没有 加载此模块"之类的,这个时候你就应该考虑你开发平台的问题,通常都是因为你的开发平台和目标平台的环境不兼容所致,如果你开发平台使用的.net compact framework 为2.0,你可以尝试下载并安装其sp1或sp2来解决此问题,下载路径 http://www.microsoft.com/downloads/details.aspx?fa milyid=0C1B0A88-59E2-4EBA-A70E-4CD851C5FCC4&display lang=zh-cn .NET Compact Framework 2.0 Service Pack 2 Redistributable http://www.microsoft.com/downloads/details.aspx?di splaylang=zh-cn&FamilyID=aea55f2f-07b5-4a8c-8a44-b4 e1b196d5c0 新增功 能:
  .Net Compact Framework V2.0 Service Pack 2 包括远程性能监视器的一些新功能,旨在发现托管堆中的内存泄露。这些功能使您能随时获取 GC 堆的快照并查看堆中活动对象实例之间的关系。您还可以比较不同时间的多个快照,从而在应用程序执行过程中找到分配的趋势。
  修 复的 Bug:
  NETCFRPM 在 x64 上失败
  在 Vista 上,从"控制面板">"程序和功能"启动 MSI 时安装/卸载失败将无提示
  因为 COM 绑定已被绑定,终结器在 RTF 对象上失败
  如果未设置 Attach Enabled 注册表项,VS 会在尝试附加时崩溃
  Thread.Join() 在 CE 6.0 平台上失败,错误为 ERROR_INVALID_HANDLE
  循环引用可能引起内存损坏
  JIT 断言在遇到不存在的 COM 端口时失败
  对 NETCF 2.0 使用泛型时发生 TypeLoadException
  IrDA 在 Windows CE 5.0 设备上中断
  NetCFRPM 和 MDBG 无法定位无外设设备
  SerialPort:如果使用 DataReceived 事件检索通过串行端口发送的 Unicode 字符,则会发生数据损坏
  SerialPort:无法打开超过 COM9 的 COM 端口
  SerialPort:GetPortNames() 不返回超过 COM9 的串行端口名称
  SerialPort:如果使用 DataReceived 事件检索通过串行端口发送的 Unicode 字符,则会发生数据损坏
  如果已在本机线程上调用了本机回调委托,NETCF 会在退出时发生死锁
  VS 2005 RTM 在 Windows Mobile 6 平台上尝试部署 NETCFv2.wce5.ARMV4I.cab/System_SR_ENU.cab,而不是 NETCFv2.wm.ARMV4I.cab/System_SR_ENU_wm.cab
  XmlSerializerializationWriter:当 GetSpecifiedMember 返回 false,序列化被终止,并会导致数据丢失
  访问冲突会使用字符串字段封送一个类
  从函数计算之后的断点跳出会导致断点仍在相同位置,并且 VS 2005 随后会挂起
  COM:N->M byref 封装中发生访问冲突
  使用 Interlocked.Exchange 时封装代码中出现本机异常
  StubPolicyAlloc 中有访问冲突 (eestub\policy.cpp)
  SerialPort.Open 在 CE 6.0 设备上引发 IOException
  Type.GetDefaultMembers() 不返回基类型的默认成员
  安装同一 MSI 的不同区域设置版本会导致在"添加/删除程序"中出现多个 NetCF 实例
  VS 2005 在 Crossbow 平台上尝试部署 System_SR_ENU.cab 而不是 System_SR_ENU_wm.cab
  调试器不能正确处理通过 COM 输入的新本机线程
  NETCFRPM 在设备使用 ipv6 时不能正确解析连接字符串
  V2 SP2:HttpWebRequest:HTTPS 请求在使用 TLS_RSA_WITH_3DES_EDE_CBC_SHA cipher 时失败
  如果在按 F5 之前有活动断点,调试器会发生访问冲突
  Web 浏览器的 NavigatingEventArgs 不允许取消导航
  XmlSerializer 无法反序列化带有空格的枚举
  新增的功能: 在此 CAB 的安装和一个 Platform Builder 更新中
  添加了对 WindowsCE 4.2 的支持(有关
  Platform Builder 更新的更多信息,请参见
  Windows CE 下载中心 。)
  添加了用于将全局程序集
  缓存安装到存储卡的选项。
  允许重写 DataGrid 单元格绘图 
  通过在 Platform Builder 中添加 Headless 目录项,添加了对无外设 Windows CE 5.0 设备的支持。
  (有关 Platform Builder 更新的更多信息,
  请参见
  Windows CE 下载中心 。)
  在 Windows CE 5.0 Platform Builder 
  目录项中添加了系统 SR 文件。(有关 Platform Builder 更新的更多信息,
  请参见
  Windows CE 下载中心 )
  支持通过使用 mdbg 进行设备调试。 
  包括了用于监视网络
  通信的 LogViewer 工具。 
  包括了 .NET Compact Framework 远程
  性能监视器。 (有关更多信息,请参见 Steven Pratschner 的
  博客 。)
  添加了 Serializable 属性。 
  已修复的问题: 在托管代码中更改 VT_BYREF 变量会
  导致内存泄漏。
  甚至在调用 CultureInfo.ClearCachedData 后
  仍会对当前用户界面的区域性进行不适当地缓存。
  对于 HttpWebRequest 方法,当因异步请求
  而退出应用程序时,会出现一个不可捕获的
  ObjectDisposedException。
  若从"即时"窗口调用带有无限循环的函数,
  Visual Studio 会在该函数中
  设置断点时挂起。
  如果 bcl 目录中缓存的、托管 dll 
  与设备上的 dll 不同,则断点不起作用。
  Environment.GetFolderPath 返回一个
  InvalidOperationException。
  一旦某个控件已开始处置进程,
  若访问该控件的 Controls 或 Controls.Count 属性,
  则会出现访问冲突。
  当 DocumentText 属性包含表内图像时,
  则会在循环中引发 WebBrowser.DocumentCompleted 
  事 件。
  作为一种解决方法,应将文件提取到主存储中,
  以避免在一些存储卡上出现硬件问题。
  对于 HttpWebRequest 方法,当访问一些 https:// URL 时,会出现 
  ArgumentOutOfRangeException。
  GetTickCount 计时到头(49.7 天)并再次从头开始时,
  计时器中断。
  在使用 ActiveSync Push 技术的设备上
  加载 .NET Compact Framework 2.0 版时,将会出现错误。
  在使用 Com 封送处理时出现内存泄漏。
  安装程序应检查 ActiveSync 的版本,
  若版本早于 ActiveSync 4.0 内部版本 4343,则禁用部署。
  对于 SerialPort 类,在打开 IPAQ 4150 上
  的串行端口时,将引发 IOException。
  对于通过 SSL 对 HttpWebRequest 发出的
  且有效负载大于 32 KB 的调用,若 SendChunked 返回 false,则该调用会在客户端挂起。
  对于 SerialPort 类,在关闭 Bluetooth 时,
  将会出现一个不可捕获的异常。
  若上一个 IO 操作失败,则 FileStream 类的终结程序
  将导致应用程序崩溃。
  在低内存设备上安装 .NET Compact Framework 
  将失败。
  PInvoke 的 UIntPtr 返回类型将引发 
  NotSupportedException。
  .NET Compact Framework 2.0 版中
  的 Debug.WriteLine 方法不起作用。
  对于 SerialPort 类,SerialPort.GetPortNames 方法不报告
  虚拟串行端口。
  使用 COM Interop 时,将在 ARMV4I 上错误地
  传递 VARIANT_BOOL 类型。
  加载程序集时,.NET Compact Framework 会错误地
  执行版本比较。
  应从 ARMV4 Pocket 
  PC CAB 中删除 ARMV4I 运行库以减少 CAB 的大小。
  Http Abort 语义需要更正。
  DateTime.Now 方法将引发
  ArgumentOutOfRangeException。
  在某些特殊压力条件下,使用 CurrentTimeZone.GetDaylightTime 和
  CurrentTimeZone.GetStandardTime 会导致崩溃。

猜你喜欢

转载自bngdkd.iteye.com/blog/1572164