Microsoft .NET Framework 精简版调试 |
||||||||
| 作者:Microsoft 来源:Microsoft 发布时间:2005-12-21 17:25:57 | ||||||||
|
Jim Wilson
简介Microsoft .NET Framework 精简版已完全集成到 Visual Studio .NET 2003 中,并支持与其他 Visual Studio .NET 应用程序类型相同的调试功能。但是,在独立设备或在仿真器中调试运行的应用程序时,用户确实需要注意一些特殊事项。下面这些建议可以帮助您在 .NET Framework 精简版的调试过程中获得最佳效果。 注意:有关 Visual Studio .NET 常规调试的完整信息,请访问 Visual Studio Debugging(英文)。 调试的一般原则下面是一些一般原则,可用于在使用 Visual Studio .NET 调试 .NET Framework 精简版应用程序时获得最佳效果。 充分利用仿真器直接在桌面上运行仿真器,可以使您获得比管理一台独立设备更为方便的调试效果。在仿真器上运行的应用程序能够更快地启动,并且与调试程序有更强的交互性。对于需要输入数据的应用程序,仿真器提供了对桌面计算机键盘的全面支持,与基于笔针的输入相比大大减少了数据输入时间。如图 1 所示,Device(设备)工具栏的 Deployment Target(部署目标)下拉菜单可用于控制应用程序是在仿真器中运行还是在设备上运行。
图 1:Device(设备)工具栏上的 Deployment Target(部署目标)选项 在调试 Pocket PC 应用程序期间启用应用程序的关闭为智能设备开发的应用程序通常设计为能够无限运行。事实上,正式的 Designed for Windows for Pocket PC Logo Guidelines (英文)中规定了应用程序不允许用户退出,而应该执行一种称为“智能最小化”的功能,即在用户不使用应用程序时将应用程序移到后台,以备再次被激活。默认情况下,.NET CF 应用程序实现“智能最小化”。 对于最终用户来说,有必要让应用程序始终保持运行,但对于开发人员来说,调试时需要频繁地启动和停止应用程序。如果应用程序不提供退出功能,则要停止它唯一的办法就是使用 Pocket PC 的 Running Programs(运行程序)屏幕或是 Visual Studio .NET 中的 Stop Debugging(停止调试)菜单项强制停止该进程。如果应用程序很容易退出,调试就会变得更方便。禁用“智能最小化”就可以提供此功能。 在 Framework 精简版中,“智能最小化”是由应用程序主窗体的 public Form1()
{
InitializeComponent()
#if DEBUG
this.MinimizeBox = false;
#endif
}
下面是具有相同功能的 VB .NET 代码 Public Sub New() MyBase.New() InitializeComponent() #If DEBUG Then Me.MinimizeBox = False #End If End Sub 使用这段代码,应用程序将显示一个 OK(确定)按钮,调试编译时单击该按钮就可以退出应用程序;但在编译发布时,应用程序将继续支持“智能最小化”。 小心使用 Debug.Write 方法对于桌面应用程序,调用 由于 Windows CE 和 Pocket PC 操作系统之间存在差异,因而它们调用 在 Windows CE 中,传递给 Pocket PC 操作系统不支持控制台窗口,因而传递给 注意:这些描述适用于所有 使用仿真器在仿真器上或在设备上调试应用程序,大体上是相同的。但是,要在仿真器调试过程中获得最佳效果,用户需要注意一些特殊事项。 确保网络连接可用Visual Studio .NET 使用 TCP 来完成其与仿真器之间的部分通信,因而要求将桌面计算机连入网络并安装有环回适配器。如果没有网络连接或环回适配器,则在 Visual Studio .NET 试图启动应用程序时,会出现错误。 注意:有关使用环回适配器的详细信息,请参阅 Installing the Microsoft Loopback Adapter(英文)。 按照部署设备来配置仿真器要想使仿真器提供精确的调试过程,仿真器的配置与部署设备的配置必须尽可能相似。可以配置仿真器的许多功能,包括显示器、内存和设备端口。 要修改仿真器配置,请在 Visual Studio .NET 中选择 Tools(工具)菜单下的 Options(选项),打开 Options(选项)对话框。在 Options(选项)对话框中,展开 Device Tools(设备工具)文件夹并选择 Devices(设备)。对话框将显示为类似于图 2 的情形。
图 2:Options(选项)对话框的 Devices(设备)选项 在 Options(选项)对话框中,确认 Devices:(设备:)列表中已突出显示 Pocket PC 2002 Emulator(Pocket PC 2002 仿真器),并单击右下角的 Configure(配置)按钮。此时,将打开 Configure Emulator Settings(配置仿真器设置)对话框,如图 3 所示。
图 3:Configure Emulator Settings(配置仿真器设置)对话框 Configure Emulator Settings(配置仿真器设置)对话框中有三个选项卡,每个选项卡对仿真器的作用如下表所示。
对仿真器配置的更改可能不会立即生效。默认情况下,仿真器将恢复至上一次运行的状态。要使仿真器应用更改的配置,必须在不保存状态的情况下关闭仿真器。从仿真器的 Emulator(仿真器)菜单中选择 Shut Down...(关闭...),然后在 Shut Down(关闭)对话框中选择 Turn off Emulator(关闭仿真器),就可以关闭仿真器。在下一次仿真器启动时,新配置就会生效。 警告:请小心使用 Turn off Emulator(关闭仿真器)功能,因为仿真器的所有文件和程序数据都会丢失。 在调试过程中,使仿真器保持打开状态如果仿真器已经运行,调试程序启动会快得多。如果仿真器尚未运行,调试程序在仿真器初始化期间会暂停,有时会导致明显的延迟。使仿真器保持打开状态不会影响其余的开发进程,并可以减少调试程序的启动时间。 在一些较慢的计算机上,仿真器的启动延迟偶尔会使 VS .NET 超时,因而产生错误。如果发生这种错误,在仿真器打开以后重新启动调试程序,通常就可以解决问题。 要完全避免这种问题的发生,请在启动调试程序之前手动启动仿真器。要手动启动仿真器,请执行以下操作:
避免从终端服务客户端使用仿真器仿真器在每一台计算机中只支持一个运行实例。通过终端服务也是这样。因此,如果多个客户端尝试通过终端服务来使用仿真器,结果是它们都将使用该仿真器的同一个实例,从而导致无法预测的结果。 要获得最佳效果,请直接在本地桌面中运行 Visual Studio .NET 和仿真器。 设备调试调试运行于 Pocket PC 或 Windows CE 的应用程序时,最重要的事项就是连接。 使用可以获得的最快的连接Visual Studio .NET 支持几种不同的设备连接选项:串行端口、USB 和网络。每种连接的通信速度差别很大,串行端口速度最慢,网络速度最快。应该始终使用可以获得的最快的连接,因为连接的通信速度直接关系到 Visual Studio .NET 调试程序的响应能力。 启动调试程序前确保动态同步已连接。Visual Studio .NET 通过动态同步与设备进行通信。如果动态同步存在问题,调试程序将不能正常工作。使用串行端口或 USB 时,动态同步连接将自动建立。网络连接需要进行其他设置。 注意:连接设备时无须创建动态同步伙伴关系。 使用网络时,必须手动建立连接。一旦同步过程完成,动态同步通常会断开手动建立的连接,因此,要在整个调试过程中保持该连接,需要禁用此功能。 要禁用 disconnect when complete(完成时断开连接),请执行以下操作:
一旦该选项被禁用,就可以通过在设备上启动动态同步并点击 Sync(同步)来建立网络连接。此连接将一直持续到点击 Stop(停止)为止。 小结NET Framework 精简版集成到 Visual Studio .NET 中,给智能设备带来了桌面调试的能力。尽管使用智能设备比使用其他应用程序类型需要注意更多的事项,但是这些简单的建议能够帮助您避免许多常见错误,并使您在调试过程中获得最佳效果。 |
||||||||
| [] [返回上一页] [打 印] | ||||||||
|
||||||||
文章评论 |
||||||||



