解决silverlight无法调试的问题

解决silverlight无法调试的问题

ID:6722124

大小:31.61 KB

页数:7页

时间:2018-01-23

解决silverlight无法调试的问题_第1页
解决silverlight无法调试的问题_第2页
解决silverlight无法调试的问题_第3页
解决silverlight无法调试的问题_第4页
解决silverlight无法调试的问题_第5页
资源描述:

《解决silverlight无法调试的问题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、问题描述在Silverlight开发过程中,经常时不时的会碰到Silverlight无法调试的问题。我就遇到下面几种情况:1.WebApplication+Silverlight,F5进入调试状态之后无法跟进Silverlight程序中下的断点2.项目中有两个Silverlight工程,其中一个Silverlight程序中有一个鼠标点击事件会将当前页面导航到另外一个Silverlight程序的承载页面。第一个Silverlight程序断点正常,但是第二个Silverlight程序中的断点不能自动停下来3.无论是在TestPage模式下调试还是在Web工程上调试,只

2、要打开了Silverlight调试开关,那么启动的时候会提示“Unabletostartdebugging.CannotlocateMicrosoftInternetExplorer”。如果你是直接Ctrl+F5运行,有时候也会出现一样的问题。单个Silverlight工程无法调试对于第一个问题,请检查如下设置是否正确:1.确认启用了Silverlight调试。双击Asp.Net工程中的属性文件夹打开属性设置页,找到Web一栏,在此页卡的最下面有几个调试选项,如下图所示:确认最后一项“Silverlight”之前的勾是勾上的。2.确保浏览器访问的Xap包是最新的。

3、检查IE是否已经清除了缓存,或者ClientBin中的Xap因为某些原因没能更新(如因配置管理导致无法覆盖)3.检查Asp.Net工程是否绑定了Silverlight应用。可以通过asp.net工程的属性面板中的SilverlightApplication页卡查看是否绑定成功。如下:4.检查Silverlight工程的StartupObject是否设置正确。有时候我们对工程的命名空间进行重命名,会导致Silverlight应用程序的入口对象失效,从而导致无法启动等情况。IE8下无法同时调试多个Silverlight工程?!IE8和以往的IE不大一样,它的多标签是采

4、用多进程的方式来实现的。整个窗口是一个框架进程,每个Tab标签页是一个独立的子进程(实际上,IE8会根据内存动态控制Tab进程的数目,因此多个标签页可能会共存于同一个进程之中)。当你尝试在多个标签页中打开不同的Silverlight应用程序时,例如从SilverlightApplication1中打开新页面到SilverlightApplication2页面,这个时候你会发现,SilverlightApplication2应用程序无法调试。这是因为,VisualStudio除了启动窗口进程之外,不会自动帮我们Attach其他的包含Silverlight应用程序的进

5、程,如果我们需要在多个标签页(或者多个窗口)中同时调试不同的Silverlight应用程序,那么我们必须自己手动Attach这些进程。举个简单的例子,我有两个Silverlight工程,其中SilverlightApplication1中包含链接指向SilverlightApplication2页面,点击链接会在新标签页中打开SilverlightApplication2的承载页面。为了Attach相应的进程,首先我们需要找到SilverlightApplication2承载页面对应的进程。打开ProcessExplorer,我们可以看到三个进程。其中的ID为45

6、28的是父进程,也就是框架进程,用于管理不同的标签进程之间的通信等事务。5160和5248分别对应着两个标签页进程。至于哪个对应哪个我们在这里无法根据进程号确定。我们再打开VisualStudio中的Attach窗口(菜单=>Debug=>Attachtoprocess…)这里列出了所有系统可用的进程清单,我们可以看到三个IE进程,其中一个是灰色的,这表示了这个进程已经被Attach到VisualStudio的调试器上了。排除了框架进程4258外,就剩下5248这个进程了,这个进程就是我们要找的SilverlightApplication2对应的承载页面的进程了。

7、选中之后Attach到调试器上,我们发现,SilverlightApplication2中的断点还是显示为空心红圈,依然无法调试。这是因为我们指定的进程代码类型不正确。我们注意到,上图中最上面有一个Attachto,后面显示的是Automatic,这个代表着VisualStudio的调试器会自动帮我们选择进程的调试类型,例如是托管代码调试,还是脚本调试,等等。我们选中5248这个进程,发现VisualStudio给我们选择的方式是脚本调试。在VisualStudio中,脚本调试和Silverlight调试是不能共存的,这也就是为什么有时候你按下F5的时候,Visu

8、alStu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。