Silverlight 3进程进行附加调试技巧介绍

开发 开发工具
如果我们想要将调试器附加到Silverlight 3进程中的时候,应该如何正确的操作才能实现这一功能呢?在这里将会做一个详细的介绍。

Silverlight 3的推出为开发人员带来了一个全新的编程环境。其中各种新功能新特性帮助编程人员实现了许多需求。创建一个程序的过程中调试环节是必不可少的步骤,而且是相当重要的。在Silverlight的开发过程中,我们主要用Silverlight Tools for Visual Studio 2008 来对Silverlight应用程序进行调试。#t#

Silverlight Tools 支持大多数托管调试功能。但是,它不支持"编辑并继续"、实时调试和混合模式调试。安装 Silverlight Tools 后,可以像调试任何其他项目类型那样来调试Silverlight 3进程项目。按 F5 后,Visual Studio 将在默认的浏览器中启动您的应用程序,并附加调试器。然后,您可以执行常见任务,例如设置断点和检查调用堆栈。

1 将调试器附加到Silverlight 3进程

安装 Silverlight Tools 后,还可以将调试器附加到任意本地进程(前提是该进程是在受支持的浏览器中运行基于 Silverlight 的应用程序)。"附加到进程"对话框(在"调试"菜单上)列出了在"类型"列中标有"Silverlight"的那些进程。若要调试 Silverlight 代码,请使用"附加到"的默认值"Silverlight"来附加到浏览器进程。请注意,可以使用"附加到"的值"脚本"来在宿主网页中调试 JavaScript 代码。但是,不能同时调试 Silverlight 代码和 JavaScript 代码。

2 将调试器附加到远程 Mac 进程

您还可以将调试器附加到一个远程 Mac 浏览器进程(前提是该进程运行基于 Silverlight 的应用程序)。此操作要求在两台计算机上都要执行一些额外的配置步骤,并且仅在运行 Windows 的计算机和 Mac 计算机之间支持此操作。另外,当调试远程进程时,"反汇编"和"寄存器"窗口不可用。

3 Silverlight 调试 API

用于实现 Silverlight 托管代码调试的本机 API 是 ICorDebug Interface(ICorDebug 接口)。虽然 Silverlight 会添加一些新的 API,但该 API 还可用于实现使用完整 .NET Framework 的托管应用程序的调试器。这意味着,您可以将现有托管代码调试器扩展为支持 Silverlight,而无需使用大量新代码。

4 在Silverlight 项目中调试 JavaScript

在 Visual Studio 中,可以在托管Silverlight 3进程代码设置断点,也可以在宿主网页中的 JavaScript 代码中设置断点。但是,如本主题前面所述,不能同时调试 Silverlight 代码和 JavaScript 代码。若要使用 Internet Explorer 调试 JavaScript,首先必须将浏览器配置为启用脚本调试。在 Internet Explorer 的"工具"菜单上,选择"Internet 选项"。然后,在"高级"选项卡上,执行以下操作:

• 清除"禁用脚本调试(Internet Explorer)"复选框

• 清除"禁用脚本调试(其他)"复选框。

• 选中"显示每个脚本错误的通知"复选框。

• 清除"显示友好 HTTP 错误消息"复选框。

当您使用 F5 调试基于 Silverlight 的应用程序时,Visual Studio 默认情况下将附加 Silverlight 调试器。JavaScript 断点将显示一个工具提示,其消息为"当前不会命中断点。还没有为该文档加载任何符号。"可以用下列两种方法之一调试 JavaScript 代码:

• 使用 Ctrl+F5 启动您的应用程序,而不启动调试器。然后可以按照本主题前面所述,使用"脚本"代码类型将调试器附加到浏览器进程。附加调试器后,可以刷新浏览器以重新加载 Silverlight 插件。该插件是调试应用程序启动代码所必需的。

• 如果解决方案中包含 Web 项目,请禁用 Silverlight 调试器。在 Visual Studio 中,选择该 Web 项目,然后在"项目"菜单上,选择项目名称"属性"。接下来,在"Web"选项卡中的"调试器"部分,清除"Silverlight"复选框。然后,可以使用 F5 在不附加脚本调试器的情况下启动您的应用程序。

如果附加了脚本调试器,将禁用托管Silverlight 3进程代码中的断点。

责任编辑:曹凯 来源: IT168
相关推荐

2009-12-29 18:34:21

Silverlight

2010-03-30 09:04:26

Silverlight依赖属性附加属性

2009-12-30 18:07:54

Silverlight

2009-12-23 11:24:42

WCF附加属性

2011-07-27 15:26:10

iPhone URL Scheme 进程

2009-12-29 18:29:09

Silverlight

2009-12-30 18:23:13

Silverlight

2009-12-30 13:30:16

Silverlight

2011-02-21 17:15:14

SilverlightNEY

2009-12-29 17:56:47

Silverlight

2009-12-30 15:08:04

Silverlight

2009-02-02 10:53:34

SilverlightSilverlightRIA

2009-12-29 10:22:34

WPF附加属性

2010-01-04 14:35:55

Silverlight

2009-12-29 17:34:52

Silverlight

2009-12-31 17:00:40

Silverlight

2009-12-29 16:08:41

Silverlight

2009-12-30 18:18:32

Silverlight

2009-12-30 18:02:32

Silverlight

2010-01-04 14:49:30

Silverlight
点赞
收藏

51CTO技术栈公众号