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

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

  在安装完Silverlight_Tool后我们就拥有了Silverlight调试器。但默认网站的调试器是Asp.Net调试器,如果不更换那么Silverlight中的断点可能永远不会命中。并且在VS中显示为不会命中断点。如下图

  在网站的属性中选择上Silverlight调试器可以解决这个问题

  了解过基础的配置之后,我们来看一个例子:

  在 Mac上设置远程调试。Mac上的Silverlight远程调试由以下部分组成:

  Visual Studio 2008的一个加载项,它以传输选项的形式提供Silverlight远程调试。该加载项作为Silverlight Tools for Visual Studio 2008的一部分安装。

  在Mac上运行的一个代理服务,可帮助远程调试器识别运行Silverlight应用程序的本地进程。它作为Macintosh的Silverlight Developer运行时的一部分安装。

  远程调试是通过调试器和目标计算机之间的SSL加密TCP通道进行的。必须在Mac计算机和Windows 计算机上都执行初始配置,才能设置TCP端口以及私钥/公钥对。下面的演练说明如何将计算机配置用于调试以及如何在Visual Studio 2008中启动调试会话。

  需要以下组件来完成本演练:

  • 运行Windows的计算机,其上安装有Visual Studio 2008 SP1和Silverlight Tools for Visual Studio 2008。

  • 安装有Silverlight Developer运行时的Mac计算机。

  • 这两台计算机都连接到网络。

  • 可通过某种方法在Windows和Mac计算机之间传输文件。

  设置远程调试

  首先,必须在Mac计算机上配置远程调试代理。

  配置Mac计算机

  1 从 /Applications目录运行“Silverlight 调试配置”应用程序。

  2 单击“生成新配置”按钮。

  这样可产生以下效果:

  • “网络端口(TCP IPv4)”字段中填入了一个随机生成的介于49152和65535之间的端口号。

  • 创建一个每用户配置目录 ~/Library/Application Support/SilverlightDebuggingConfig1.0/,其中包含以下文件:Certificate.dat、PrivateKey.dat 和 Settings.dat。

  • 创建每用户启动代理 ~/Library/LaunchAgents/com.microsoft.silverlight.debugproxy.plist。

  3 在“加密密码”文本框中指定一个8到25个字符的密码,然后将它复制到“验证密码”文本框中。

  4 在“复制器路径”文本框中,为PC配置指定一个路径和.exe文件名,或者接受默认值。

  5 单击“生成PC配置”按钮。

  将弹出一个对话框,要求确认是否在第4步中指定的位置创建PC配置.exe文件。如果运行Windows 的计算机将用来调试Mac计算机上的Silverlight,则可以将该文件与此计算机配合使用。若需要,还可以重新生成该文件,方法是重新运行“Silverlight调试配置”应用程序,并从第 4 步开始执行上述过程。

  Mac计算机此时即配置完毕,可用于远程调试。接下来,将使用生成的.exe文件配置运行 Windows 的计算机。

  配置运行Windows的计算机

  1 关闭所有打开的Visual Studio实例。

  2 将在前面的过程中创建的.exe文件复制到运行Windows的计算机。

  3 运行此.exe文件。

  4 输入在前面的过程中指定的密码。

  5 在指示Windows配置已成功完成的对话框中,单击“确定”。

  运行Windows的计算机此时即配置完毕,可用于远程调试。接下来,将在这两台计算机之间建立连接,以便可以开始进行调试。

  将Visual Studio调试器连接到您的Mac上运行的基于Silverlight的应用程序

  1 在您的Mac计算机上启动要调试的基于Silverlight的应用程序。

  2 在运行Windows的计算机上,使用Visual Studio打开在Mac计算机上运行的应用程序所对应的Silverlight项目。

  3 在“调试”菜单上选择“附加到进程”。

  4 在“传输”下拉列表中选择“Silverlight远程跨平台调试”。

  5 在“限定符”组合框中,指定您的Mac计算机的完全限定域名或IP地址。

  “可用进程”窗口显示您的Mac上当前正在运行的进程的列表。

  6 选择基于Silverlight的应用程序进程。可以通过“类型”列来识别Silverlight进程。

  7 单击“附加”。

  Visual Studio调试器此时即附加到Mac中的目标进程。这时可以使用Visual Studio执行一般调试器任务,例如设置断点、逐句通过代码和检查调用堆栈。

  有时,您可能希望撤消刚执行过的配置。例如,可能需要针对Silverlight的下一版本对配置进行升级。下面的过程描述如何撤消前面的过程。

  移除Mac调试配置

  1 在运行Windows的计算机上打开一个命令提示窗口,然后运行下面的命令:

  如果是Windows Vista:

  rmdir /s /q %LOCALAPPDATA%MicrosoftSilverlightDebuggingConfig1.0 

  如果是 Windows XP:

rmdir /s /q”USERPROFILELocalSettingsApplicationDataMicrosoftSilverlightDebuggingConfig1.0″ 
 
  2 在 Mac 计算机上打开一个终端窗口,然后运行以下命令:

  rm –rf ~/Library/Application Support/SilverlightdebuggingConfig1.0

  cd ~/Library/LaunchAgents

  launchctl unload ~/Library/LaunchAgents/com.microsoft.silverlight.debugproxy.plist

  rm ~/Library/LaunchAgents/com.microsoft.silverlight.debugproxy.plist

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • JavaFX开源计划细节泄露

    在OpenJDK的最近一封邮件中,来自Oracle client Java的首席架构师Richard Bair透露了他们对其富互联网应用程序平台JavaFX的一些开源计划……

  • HTML5必须知道的十件事

    一两年前,HTML5似乎还是一个模糊的概念,只有少数几个互联网的书呆子才会关心。而现在,却感觉仿佛HTML5无所不在了。感谢Mozilla和Chrome的快速发布……

  • RIA盛世降临 你准备好了吗?

    未来,“用户体验”将成为所有软件商业价值的首要衡量标准。拥有极好用户体验的RIA技术近些年来发展迅猛,其中以Silverlight、HTML 5及Flash最受热捧。

  • RIA+REST架构实现完美WEB开发

    记得第一次看到REST的身影,是在一次会议上的一篇介绍,随后又翻阅了后面的参考文章和Developerwork上一些资料,甚至随手翻了翻Roy博士的论文。