[计算机软件及应用]如何使用远程工具跟踪 Windows CE 应用程序中的内存泄漏.doc
《[计算机软件及应用]如何使用远程工具跟踪 Windows CE 应用程序中的内存泄漏.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]如何使用远程工具跟踪 Windows CE 应用程序中的内存泄漏.doc(32页珍藏版)》请在三一文库上搜索。
1、如何使用远程工具跟踪 Windows CE 应用程序中的内存泄漏发布日期: 4/6/2005 | 更新日期: 4/6/2005Mike HallMicrosoft适用于:Microsoft Windows CE 5.01摘要:本文提供了有关调试工具的实践性概述,该调试工具可用于跟踪基于 Windows CE 的应用程序或驱动程序中的泄漏。您将针对运行在 Windows CE 仿真程序上的 Windows CE 5.0 操作系统映像来创建、自定义、构建、下载、调试以及使用远程工具。该实验大约需要 60 分钟完成。从 Microsoft 下载中心下载 Windows CE 5.0 Embedded
2、 Development Labs.msi。本页内容第 1 部分:创建平台映像第 2 部分:自定义和构建平台第 3 部分:下载平台第 4 部分:远程工具和内存泄漏第 5 部分:其他 Windows CE 远程工具小结第 1 部分:创建平台映像在 Platform Builder 内使用 New Platform Wizard 来创建初始平台工作区,之后通过添加应用程序以及更新注册表对其进行修改。单击 Start | AllPrograms | Windows CE 5.0 | Platform Builder 启动 Platform Builder。现在,就可以通过使用 Platform Wi
3、zard 来创建平台了。可以单击该缩略图以查看大图像。要创建新平台工作区1.选择 File | New Platform。 下图中的对话框概述了创建平台的过程。现在,需要按照向导的提示逐步执行,并进行相应的选择。 单击 Next。 如下图所示,New Platform Wizard 的下一步将提示您输入要构建的平台名称和位置。在 Microsoft Windows CE 4.2 中,将在 C:WINCE420PUBLIC 文件夹中创建自定义平台。Windows CE 5.0 会将自定义工作区分隔在一个名为 C:WINCE500PBWorkspaces新文件夹中。 2.输入名称 MyPlatfo
4、rm3.单击 Next。 通过选择 EMULATOR:X86 为 Windows CE 5.0 仿真程序构建一个操作系统,如下图所示。如果需要,可以选择多个参考板。然后,在构建时,可以选择构建和下载哪个平台。在硬件仍处于开发阶段时,选择仿真程序和参考板会比较有用,因为这样您可以在仿真程序中配置和测试操作系统映像,而无需物理硬件。 4.单击 Next。 现在,可以从许多示例平台中进行选择,或者,如果没有一个选项符合您的需要,则可以只选择 Custom Device 并根据从目录选取的组件来构建映像。 由于本教程的目的所在,您需要从平台配置列表中选择 Internet Appliance,如下图所
5、示。 5.单击 Next。 每个示例平台都有许多选项可供选择,而 Platform Wizard 只显示与您要构建的平台相关的选项。例如,在 headless 设备(例如,网关)中包括 Internet Explorer 或 WordPad 应用程序毫无意义。Internet 应用设备可以包括诸如 Internet 浏览器、Microsoft Windows Media Player 和 Microsoft Windows Messenger 之类的应用程序,也可以选择性地包含其他应用程序。可以通过包含来自目录的组件或从项目工作区中移除组件,以进一步对平台进行自定义。 在本例中,如下图所示,无
6、需 Microsoft .NET Compact Framework 或任何 Windows Media 组件,因此可以将这些项清除。 6.单击 Next。 在 Networking and Communications 页上,您可以看到 Windows CE 对个人网络、局域网及广域网均支持。如下图所示,在本例中,采用默认选项即可。 7.单击 Next。 如下图所示,即可完成向导。您已经配置了 Windows CE 平台,现在,通过向平台添加或从其中移除组件,可以对平台进行进一步的自定义。 8.单击 Finish。 现在,您就具有了包含所有选自 Platform Wizard 的 Windo
7、ws CE 组件的平台工作区。通过向工作区添加其他技术和特定于平台的驱动程序,可以进一步自定义该平台,或者,可以移除任何由向导添加但您的平台并不需要的组件。返回页首第 2 部分:自定义和构建平台在本部分练习中,您将执行以下过程: 启用分析内核和事件跟踪 创建 memLeak 应用程序,并将其添加到平台 创建 GDILeak 应用程序,并将其添加到平台 创建 Philosophers 应用程序,并将其添加到平台 配置 Philosophers 应用程序 构建平台 默认构建选项是生成操作系统的 Release 映像。如下图所示,使用工具栏从 Release 构建切换到 Debug 构建。现在就可开
8、始构建平台了。但是,在第 4 部分:远程工具和内存泄漏中,将使用 Remote Kernel Tracker 工具,因此,需要启用分析内核。要启用分析内核和事件跟踪1.选择 Platform | Settings。 2.在 Platform Settings 对话框上选择 Build Options 选项卡,如下图所示。 您会注意到之前的图示中,工具当前设置为构建平台的 Debug 映像。虽然启用了内核调试,但是要使用 Remote Kernel Tracker 工具,还需要启用分析内核和事件跟踪。3.选择 Enable Profiling。 4.选择 Enable Event Trackin
9、g During Boot。 5.单击 OK。 您已向自己的平台添加了三个应用程序:memLeak、GDILeak 和 Philosophers。这些应用程序的源代码已经被写入并存储在 Code Clip 应用程序中。现在,需要创建这些应用程序并将其添加到平台工作区。memLeak 应用程序是带有用户界面的 Windows 应用程序。您可以使用该应用程序来呈现调试区域以显示来自应用程序或驱动程序的重要调试信息、如何使用 Remote Performance Monitor 来监视操作系统内的内存负载,以及如何使用 CeLogData 将自定义数据项输出到 Remote Kernel Track
10、er 数据流中。memLeak 应用程序是多线程的,使用项目向导来创建该应用程序。本实验稍后部分,将对该应用程序中使用的代码进行分析。要创建 memLeak 应用程序并将其添加到平台1.选择 File | New Project or File。 2.选择 WCE Application,如下图所示。 3.在 Project name 框中,键入 MemLeak。 4.单击 OK。 5.键入您的特征信息,如下图所示,然后单击 Next。 如下图所示,出现三个选项:An empty project、A simple Windows CE application 或 a typical Hello
11、 World application。 6.选择 A simple Windows CE application。 7.单击 Finish。 项目向导已经创建了一个简单的 Win32 应用程序,该应用程序带有 WinMain 的入口点,无其他代码。现在需要向该应用程序添加一些代码。 1.在 Workspace 窗口中,选择 File View。 2.将工作区展开至 Projects | MemLeak | Source files。 3.双击 MemLeak.cpp。该步骤将打开 memLeak 应用程序的源代码。 4.选择该应用程序的所有代码。 5.按 DELETE 以删除所有代码。 6.从
12、桌面打开 Code Clip。. 7.找到并打开 Platform Builder Advanced Lab 项。 8.双击 MemLeak。该步骤会将 memLeak 源代码复制到剪贴板。 9.在 Platform Builder 中,选择 Edit | Paste,或右键单击 Paste。memLeak 代码被添加至代码窗口。 现在,可开始向平台添加第二个应用程序了:GDILeak。该应用程序是一个带有用户界面的 Windows 应用程序。GDILeak 应用程序将用于说明如何使用 Application Verifier 工具来检查应用程序的运行库。在编写 Win32 应用程序时,可能容
13、易忽略一个图形设备接口 (GDI) 句柄,创建该句柄是用于绘制应用程序的工作区的。每个未释放回操作系统的 GDI 句柄都泄漏 4 个字节。这个数量会随着时间的推移而增长,因此,需要运行 Application Verifier 工具来检查该应用程序的运行库。要创建 GDILeak 应用程序并将其添加到平台1.选择 File | New Project or File。 2.选择 WCE Application,如下图所示。 3.在 Project name 框中,键入 GDILeak。 4.单击 OK。 5.键入您的特征信息,如下图所示,然后单击 Next。 如下图所示,出现三个选项:An e
14、mpty project、A simple Windows CE application 或 a typical Hello World application。 6.选择 A simple Windows CE application。 7.单击 Finish。 项目向导已经创建了一个简单的 Win32 应用程序,该应用程序带有 WinMain 的入口点,无其他代码。现在,需要向该应用程序添加一些代码。 1.在 Workspace 窗口中,选择 File View。 2.将工作区展开至 C:WINCE500 | Projects | GDILeak | Source files。 3.双击
15、GDILeak.cpp。该步骤将打开 GDILeak 应用程序的源代码。 4.选择该应用程序的所有代码。 5.按 DELETE 以删除所有代码。 6.从桌面打开 Code Clip。 7.找到并打开 Platform Builder Advanced Lab 项。 8.双击 GDILeak。该步骤会将 GDILeak 源代码复制到剪贴板。 9.在 Platform Builder 中,选择 Edit | Paste,或右键单击 Paste。GDILeak代码被添加至代码窗口。 现在,可开始向平台添加最后一个应用程序了:Philosophers。该应用程序是一个带有用户界面的 Windows 应
16、用程序。在本例中,将使用“进餐的哲学家”问题,一个经典的多进程同步问题。该问题中,五位哲学家围桌而坐,他们只做两件事:思考和进餐。每位哲学家之间,有一支筷子。为了进餐,每位必须具备两支筷子。如果每个人都先取右侧的筷子,然后再拿左侧的筷子,会出现一个问题。在这种情况中,出现了僵局,所有的哲学家都会挨饿。而且,这些哲学家应当机会平等并且不会长时间占有筷子;因此,每位哲学家的进食量应当彼此相等。要创建 Philosophers 应用程序并将其添加到平台1.选择 File | New Project or File。 2.选择 WCE Application,如下图所示。 3.在 Project na
17、me 框中,键入 Philo。 4.单击 OK。 5.键入您的特征信息,如下图所示,然后单击 Next。 如下图所示,出现三个选项:An empty project、A simple Windows CE application 或 a typical Hello World application。 6.选择 A simple Windows CE application。 7.单击 Finish。 项目向导已经创建了一个简单的 Win32 应用程序,该应用程序带有 WinMain 的入口点,无其他代码。现在,需要向该应用程序添加一些代码。 1.在 Workspace 窗口中,选择 File
18、 View。 2.将工作区展开至 C:WINCE500 | Projects | Philo | Source files。 3.双击 Philo.cpp。该步骤将打开 Philo 应用程序的源代码。 4.选择该应用程序的所有代码。 5.按 DELETE 以删除所有代码。 6.从桌面打开 Code Clip。 7.找到并打开 Platform Builder Advanced Lab 项。 8.双击 Philosophers。该步骤会将 Philosophers 源代码复制到剪贴板。 9.在 Platform Builder 中,选择 Edit | Paste,或右键单击 Paste。Phil
19、osophers 代码被添加至代码窗口。 现在,要针对 Philosophers 应用程序来运行 Remote Call Profiler。为此,需要确保 Philo 项目配置正确。 要配置 Philosophers 应用程序1.在 File 视图中,右键单击 Philo Project(Philo 应用程序的顶部节点)。 2.选择 Settings。 3.选择并打开 Custom Variables,如下图所示。 4.单击 New,如下图所示。 5.在 Variable name 框中,键入 WINCECALLCAP,如下图所示。 6.在 Variable value 框中,键入 1。 7.
20、单击 OK。 您还需要为该项目生成 .map 文件。 1.在 Custom Variables 对话框中,单击 New。 2.在 Variable name 框中,键入 WINCEMAP,如下图所示。 3.在 Variable value 框中,键入 1。 4.单击 OK。 5.单击 OK。 现在,就可以开始构建平台了。要构建平台选择 OS Design View。 选择 Build OS | Sysgen。 注构建过程需要大约 10 分钟来完成。返回页首第 3 部分:下载平台在本部分练习中,您将执行以下过程: 配置调试和内核传输 下载操作系统 在下载操作系统映像之前,请检查以确保配置了调试和
21、内核传输。要配置调试和内核传输1.选择 Target | ConnectivityOptions。Target Device Connectivity Options 对话框打开,如下图所示。 2.在 Download 和 Transport 框中,选择 Emulator。 3.单击 Download 框旁边的 Settings。Emulator Download Settings 对话框打开,如下图所示。 您可以在该对话框中为 Windows CE 仿真程序设置下载选项。该仿真程序作为功能完整的 x86 CEPC 参考板运行,并通过使用开发计算机的硬件设备包括对网络设备、串行设备以及并行设备
22、的支持。 4.在 Memory 框中,选择 64。 5.单击 OK。 6.单击 OK 关闭 Target Device Connectivity Options 对话框。 现在,就可以开始下载操作系统了。要下载操作系统选择 Target | Attach Device。 将操作系统映像下载到该仿真程序。操作系统下载完成后,您会看到许多显示在 Platform Builder 中的调试消息。 返回页首第 4 部分:远程工具和内存泄漏在本部分练习中,您将执行以下过程: 使用 Remote Performance Monitor 工具来监视当前内存负载。 运行 memLeak 应用程序以在 Remo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件及应用 计算机软件及应用如何使用远程工具跟踪 Windows CE 应用程序中的内存泄漏 计算机软件 应用 如何 使用 远程 工具 跟踪 应用程序 中的 内存 泄漏
链接地址:https://www.31doc.com/p-1991922.html