但是有几点要注意。首先,不能在同一调试过程中调试托管代码和脚本。(即XAML。cs 和JAVASCRIPT)
这就是说,如果在XAML的隐藏代码中设置一个断点,并且已经打开了Silverlight调试,那么断点将发挥相应的作用
然而,如果在脚本中也设置了断点,那么在属性--"Silverlight"调试打开"Silverlight"调试打开时,脚本中的断点将不能起作用。
而:选中属性--"Silverlight"调试打开 还要 打开

测试前注意:IE开禁用脚本调试

不选择 Silverlight调试时。XAML的后台断点被忽略。JS和后台代码都可以调试。

当开Silverlight调试时,JS代码的VS调试器提示不能用。因为他开一个用于检测Silverlight了。所以说JS调试和Silverlight冲突。

提示“无法附加到崩溃进程。已附加了一个调试器。”

上面用来证明。选中Silverlight调试开关 打开  时  JS与Silverlight的冲突。  JS的调试器被Silverlight占领。
下面用来证明,选中Silverlight调试开关 关闭时。 也就是正常的调试VS时。 Xaml.CS  的断点被忽略。

选中属性--"Silverlight"调试打开 还要 停止

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

经过测试。
1.发现如XAML.CS这样类似的样式文件的隐藏代码,和JS调试有冲突。JS可调试。Xaml。cs后台断点  被忽略
2.  与Silverlight无关。 本页JS与本页隐藏代码没有冲突。因为是两个调试器。

VS为什么可以响应JS调试:调试前的设置你会发现。JS调试必须先把浏览器的禁用调试设置不选。这证明其实JS的调试虽然是通过VS来运行的。可VS在调试JS中时的作用和FireBUG一样的。都是针对浏览器调试的。而为什么有人说调试JS时,后台就没办法调试。JS调试针对是浏览器的。后台调试是针对IIS的请求的。所以这样时他们是没有冲突的。

3.包含silverlight的aspx文件(JS断点 和 隐藏代码断点) 与 silverlight 的Xaml。cs文件

结果:Xaml。cs后台断点  被忽略

我测试。
1.选择了属性--WEB--Silverlight调试。
2.建立新页面Default。aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="SilverlightApplication1.Web._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server"><title></title><script type="text/javascript">function onSilverlightError() {var k = 1;debugger;
//断点              alert(k);window.open("http://localhost:18691/SilverlightApplication1TestPage.aspx");}</script>
</head>
<body ><form id="form1" runat="server"><div ><button οnclick="onSilverlightError()"></button></div></form>
</body>
</html>

3.在SilverlightApplication1TestPage.aspx 指向的XMal后台 MainPage。xaml.cs 中加断点

namespace SilverlightApplication1
{public partial class MainPage : UserControl{public MainPage(){InitializeComponent();myButton.Click+=new RoutedEventHandler(myButton_Click);}void myButton_Click(object sender, RoutedEventArgs e){//加断点
Button at = sender as Button;at.Content = "点击";outputBlock.Text = "点击";}void myButton_MouseEnter(object sender, MouseEventArgs e){Button at = sender as Button;at.Content = "鼠标ENTER";outputBlock.Text = "鼠标ENTER";}}
}

最后发现。Default的脚本运行了。可是Xaml.cs这个断点没响应(被忽略)。直接执行完毕了。++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 
2.  本页JS代码和本页后台 CS文件 调试  无冲突;
 因为。JS代码调试 通过另开一个调试器来调试。 CS的代码通过本地的VS后台来集成调试。
 
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="SilverlightApplication1.Web._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server"><title></title><script type="text/javascript">function onSilverlightError() {var k = 1;debugger;//断点             alert(k);window.open("http://localhost:18691/SilverlightApplication1TestPage.aspx");}</script>
</head>
<body ><form id="form1" runat="server"><div ><button οnclick="onSilverlightError()"></button><br /><br />
<asp:Button ID="CCK"  runat="server" οnclick="CCK_Click"  /></div></form>
</body>
</html>

namespace SilverlightApplication1.Web
{public partial class _Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void CCK_Click(object sender, EventArgs e){//断点            CCK.Text = "OK!";}}
}
 
===================================================================
3.包含silverlight的aspx文件(JS断点 和 隐藏代码断点) 与 silverlight 的Xaml。cs文件   (后台断点)  冲突
结果:Xaml。cs文件  被忽略
 Xaml。cs文件  用的是第一个  (上面 1 里的那个)
<%@ Page Language="C#" AutoEventWireup="true" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">protected void ra_Click(object sender, EventArgs e)
//断点     {ra.Text = "cc";}</script><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server"><title>SilverlightApplication1</title><style type="text/css">html, body {height: 100%;overflow: auto;}body {padding: 0;margin: 0;}#silverlightControlHost {height: 100%;text-align:center;}</style><script type="text/javascript" src="Silverlight.js"></script><script type="text/javascript">function aa() {debugger;
//断点             alert("1");}function onSilverlightError(sender, args) {var appSource = "";if (sender != null & sender != 0) {appSource = sender.getHost().Source;}var errorType = args.ErrorType;var iErrorCode = args.ErrorCode;if (errorType == "ImageError" || errorType == "MediaError") {return;}var errMsg = "Silverlight 应用程序中未处理的错误 " +  appSource + "\n" ;errMsg += "代码: "+ iErrorCode + "    \n";errMsg += "类别: " + errorType + "       \n";errMsg += "消息: " + args.ErrorMessage + "     \n";if (errorType == "ParserError") {errMsg += "文件: " + args.xamlFile + "     \n";errMsg += "行: " + args.lineNumber + "     \n";errMsg += "位置: " + args.charPosition + "     \n";}else if (errorType == "RuntimeError") {           if (args.lineNumber != 0) {errMsg += "行: " + args.lineNumber + "     \n";errMsg += "位置: " +  args.charPosition + "     \n";}errMsg += "方法名称: " + args.methodName + "     \n";}throw new Error(errMsg);}</script>
</head><body><form id="form1" runat="server" style="height:100%;"><asp:Button ID="ra" runat="server" οnclick="ra_Click" /><button οnclick="aa()"></button><div id="silverlightControlHost"><object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="50%" height="50%"><param name="source" value="ClientBin/SilverlightApplication1.xap"/><param name="onerror" value="onSilverlightError" /><param name="background" value="white" /><param name="minRuntimeVersion" value="3.0.40624.0" /><param name="autoUpgrade" value="true" /><a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration: none;"><img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="获取 Microsoft Silverlight" style="border-style: none"/></a></object><iframe id="_sl_historyFrame" style='visibility:hidden;height:0;width:0;border:0px'></iframe></div></form>
</body>
</html>(&)
 结果:runat的断点响应了。JS的断点响应了

VS2008 JS调试和Silverlight 后台代码调试 相互影响的问题。---自己做实例证明相关推荐

  1. linux java远程调试_idea远程linux代码调试

    如果线上代码出现问题,如何用本地idea排查问题查找问题? 第一步:保证本地代码与线上代码一致: 第二步:在线上tomcat文件中/tomcat/bin/catalina.sh文件中添加如下配置 找到 ...

  2. 【Android 逆向】代码调试器开发 ( 代码调试器功能简介 | 设置断点 | 读写内存 | 读写寄存器 | 恢复运行 | Attach 进程 )

    文章目录 一.代码调试器功能简介 二.Attach 进程 一.代码调试器功能简介 代码调试器功能 : 设置断点 : 无论什么类型的调试器 , 都必须可以设置断点 , 运行到断点处 , 挂起被调试进程 ...

  3. python 除数不能为零的报错有哪些_【社区精选40】Python错误处理及代码调试方法(文末赠书中奖名单)...

    本文整理自爱数据学院中的问答 更多精彩问答,进入下方社区网站查看 http://www.lovedata.cn/invitation 社区精选话题 第40期 Python错误处理及代码调试方法 一次写 ...

  4. python示例异常处理与程序调试_Python错误处理及代码调试方

    一次写完代码程序并能够正常运行的概率很小很小,总会有各种各样的错误bug需要处理.有的报错简单,看看报错信息简单修改一下就可以了. 但是有的报错很复杂,特别是一些复杂长代码,需要我们定位到错误的位置, ...

  5. Silve37.Silverlight和ASP.NET相互传参的两种常用方式(QueryString,Cookie)

    在本节中将讲述Silverlight和ASP.NET页面的相互传参的两种常用方式:Cookie和QueryString.首先我们新建一个名 为SLConnectASP.NET的Silverlight应 ...

  6. asp.net html silverlight 传参数,Silverlight和ASP.NET相互传参的两种常用方式(QueryString,Cookie)...

    Silverlight实用窍门系列:37  程兴亮,网名煦风满裳 在本节中将讲述Silverlight和ASP.NET页面的相互传参的两种常用方式:Cookie和QueryString.首先我们新建一 ...

  7. VS2008 JS脚本调试总是调试旧代码 真不知道怎么回事?谁能帮帮我呀!

    如图,[dynamic]标记的是调试的元文件 xml1.htm[dynamic]和xml.js[dynamic] 我更改后的文件是xml1.htm和xml.js,见图1 2 调试的文件有debugge ...

  8. 前端代码调试:Webstorm调试js

    [前言] 目前前端开发JavaScript的debug一般都是用chrome和firefox的开发者工具进行调试,浏览器工具使用不方便,webstorm支持了在代码上打断点,在编辑器里debug js ...

  9. NodeJs代码调试(inspector+chrome) 实现谷歌浏览器调试后台nodejs代码

    NodeJs代码调试(inspector+chrome) 实现谷歌浏览器调试后台nodejs代码 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:1295 ...

最新文章

  1. SD卡的控制方法(指令集和控制时序)
  2. 点击按钮测试用例标题_怎么写测试用例?
  3. manjaro21 linux安装vscode
  4. python僵尸进程和孤儿进程_python学习笔记——孤儿进程和僵尸进程
  5. android 设备名称_如何更改您的Android TV的设备名称
  6. leetcode - 63. 不同路径 II
  7. 【LeetCode】汉明距离(Hamming Distance)
  8. Python gmpy2 mpz Methods
  9. 洛谷 P2936 [USACO09JAN]全流Total Flow
  10. Java集合框架源码解读(4)——WeakHashMap
  11. 自定义UISearchBar 适配IOS6和IOS7 修改放大镜图标 修改光标颜色 修改边框颜色 placeholder颜色 设置文本框背景
  12. mysql存储字典,详解MySQL-8.0数据字典
  13. git 解决push报错:[rejected] master -> master (fetch first) error: failed to push some refs to
  14. HBuilder控制台打开方式
  15. 大型企业计算机终端安全管理现状与策略分析
  16. 每天一剂 WebView 良药
  17. alipay 证书 java_支付宝转账-提取根证书失败 AlipayRootCert Is Invalid
  18. Codeforce题解:Shurikens
  19. MIT6.824(lab2A-领导人选举)
  20. 虚拟机网络模式(NAT模式主机访问虚拟机)

热门文章

  1. 粗谈pragma once与 #ifndef的区别
  2. 详解list容器(应用+模拟实现)
  3. Linux 开发路线
  4. select、poll、epoll使用小结
  5. 【Leetcode | 01】Backtracking
  6. gcc编译器的整个工作过程
  7. git 基本命令和操作
  8. Ubuntu中NS2安装详细教程
  9. 安装Ubuntu版本linux过程中没有提示设置root用户密码问题的解决办法
  10. 关于反射Assembly.Load(程序集).CreateInstance(命名空间.类)