Silverlight调试基本概念详解
创始人
2024-06-18 16:40:56
0

Silverlight调试的方式是一个比较复杂的步骤。在实际编程中,这一步骤又是相当重要的。所以,作为uiyiming有需求的程序员来说必须熟练的操作这一步骤。#t#

创建一个程序的过程中调试环节是必不可少的步骤,而且是相当重要的。在Silverlight的开发过程中,我们主要用Silverlight Tools for Visual Studio 2008 来对Silverlight应用程序进行调试。Silverlight Tools 支持大多数托管调试功能。但是,它不支持"编辑并继续"、实时调试和混合模式调试。

安装 Silverlight Tools 后,可以像调试任何其他项目类型那样来调试 Silverlight 项目。按 F5 后,Visual Studio 将在默认的浏览器中启动您的应用程序,并附加调试器。然后,您可以执行常见任务,例如设置断点和检查调用堆栈。

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

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

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

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

Silverlight调试3 Silverlight 调试 API

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

Silverlight调试4 在Silverlight 项目中调试 JavaScript

在 Visual Studio 中,可以在托管 Silverlight 代码设置断点,也可以在宿主网页中的 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调试代码中的断点。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...