重中之重Silverlight 3 中的调试(上)

日期: 2009-09-28 来源:TechTarget中国 英文

  创建一个程序的过程中调试环节是必不可少的步骤,而且是相当重要的。在Silverlight的开发过程中,我们主要用Silverlight Tools for Visual Studio 2008来对Silverlight应用程序进行调试。Silverlight Tools支持大多数托管调试功能。但是,它不支持“编辑并继续”、实时调试和混合模式调试。安装Silverlight Tools后,可以像调试任何其他项目类型那样来调试Silverlight项目。按F5后,Visual Studio将在默认的浏览器中启动您的应用程序,并附加调试器。然后,您可以执行常见任务,例如设置断点和检查调用堆栈。

  1 将调试器附加到 Silverlight 进程

  安装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 代码设置断点,也可以在宿主网页中的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代码中的断点。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 数字化转型:如何更好地利用API和微服务

    API,即应用程序编程接口,它提供给应用程序、开发人员访问其它应用的能力,而又无需访问源码,无需理解内部工作机制细节;简单地说,API就是实现应用与应用连接的一种隐形的桥梁。

  • 金融行业数字转型:利用API构建新IT基础

    从制造业、物流业,银行业到零售业,各行各业的根基都因应用经济的兴起发生着深刻的变革。在互联网和智能手机普及化的推动下,这种现象变得司空见惯。到2021年 ,蓬勃发展的全球应用经济的预估总值将达到6.3万亿美元,相比2016年的1.3万亿美元,增长近5倍。

  • 如何使用Azure API管理服务?

    在云和微服务架构时代,API是数字化业务的通用语言。根据分析公司Forrester Research预测,仅在美国,API管理工具的支出将在未来5年内达到近30亿美元。

  • 私有存储云如何构建?

    如何构建自己的私有存储云呢?在这之前,我们要先退后一步,思考一下云计算到底意味着什么。