zoukankan      html  css  js  c++  java
  • 如何在vs.net里调试脚本 《一》

    如何在vs.net里调试脚本
    1.首先应该把ie的“禁止脚本调试选项”去掉
    2.如果在vs.net里面,就设置一个html文件为启动页,然后在文件上面设置断点,这样应该是好使的。记住:设定html文件为启动页
    如果你的程序是asp,或者aspx,那还有这样的方法:
    1.
    a)在你想要停止的地方加上alert(),
    b)然后运行的网页,
    c)使用attach to process(vs.net 和vs interdev 都有这个菜单项)连接上你的进程,
    d)到alert()(在前面设置好)语句后,不要点"确定",
    e)回到debugger(vs.net 或者 interdev)暂停进程,
    f)点击警告窗口的"确定",
    g)这时脚本停留在alert(语句的下一条)
    2.使用浏览器的"调试"菜单下面的"到下一条语句停止"的功能,也可以很好地调试脚本

    JavaScript脚本调试经典技巧
    在调试Javascript脚本的时候,如果有错误,IE的状态栏里会有个问号[点击此问号],或者弹出错误框,为了尽快找到错误,下面是常用的调试方法:
    1,如果出现对象为null或找不不到对象,那就是id,name或DOM写法不对,请检查错误所在的行;
    2,如果错误定位到一个函数的调用上,说明函数体有问题,到函数体里找原因。
    3,为了加快速度,可以先用/*   */注释屏蔽掉一部分代码,逐步检查;
    4,可以增加alert(xxx)来看看变量是否得到了期望的值;
    5,IE的错误报告往往不准确,比如行18错的话,有时候是19行有问题;
    6,为了确保代码能够正确运行,在实在不能确定能否出现错误的时候,用try{}catch{}语句在做

    初学的时候往往不注意大小写例如innerHTML属性,容易写成innerHtml,一般如果出现对象不支持此种属性或方法的提示的时候,就是大小写造成的,还有一种可能,就是,你正在试图使用一个根本没有的属性或方法。

    1.问号[点击此问号],或者弹出错误框,为了尽快找到错误
    点问号,看第n+1行是否有错误。没有就往前
    重要的是经验,而且是自己写的代码,才能对症下药
    2.程序代码要规范,括号要对应,尽量使用tab键

    出现缺少;号的错误,其实不是少;号,而是你的表达式里没有写合法的运算符之类:比如:str="sdfsdsdf"+"dfsdfsd
    之类的

    没有语法错误的情况下
    我常常用的alert();return;逐步确定错误范围;在调试JSP程序的时候是out.println("Run here right!");out.close()

    我是直接写个ASSERT的函数,在可以的地方throw(msg)然后用调试器看的.
    写错ID就不要提了,最经常是某个函数返回NULL,在我认为不应该返回NULL的地方,我就这样写
    var obj=SomeFunction();
    ASSERT(null!=obj,"var obj=SomeFunction();返回null");
    function ASSERT(mustbetrue,msg)
    {
    if(mustbetrue=false)throw(new Error(-1,"ASSERT:\n"+msg));
    }
    function ASSERT(mustbetrue,msg)
    {
        if(mustbetrue==false)throw(new Error(-1,"ASSERT:\n"+msg));
    }
    VS.Net是最好的脚本调试器了。
    什么都监视得了。。

    use Visual Interdev to debug

    关try catch的一点点补充,来自部门培训例子
    <script>
    try{
       x=y;   // Cause an error.
    }
    catch(e){   // Create local variable e.
       alert(e);   // Prints "[object Error]".
       alert(e.number & 0xFFFF);   // Prints 5009.
       alert(e.description);   // Prints "'y' is undefined".
    }
    </script>

    http://groups.google.com/groups?q=debugging+javascript&ie=UTF8&oe=UTF8&hl=en

    用vs.net调试javascript
    1,首先,要让你的ie允许调试脚本,具体步骤如下:
    打开ie->工具菜单->inter选项->高级选项卡->去掉“禁止脚本调试"选项
    2,打开vs.net,创建一个新的asp.net项目(或打开一个)
    3,运行你要调试的页面
    4,当你的页面呈现在ie里的时候,重新回到vs.net
    5,在脚本中设置断点:
    调试菜单->窗口->调试文档
    在”运行文档“中选择要调试的页面(这是一个类似于解决方案管理器的浮动工具栏)
    6,然后,你可以通过操作网页来进入脚本,当脚本运行到断点时,就可以进行调试了.
    如果你想在页面开始装载时就进入调试状态,可以按F10(逐过程)进行调试

    来自MSDN:
    ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vsdebug/html/vxtskdebuggingclient-sidescript.htm

    1、首先在IE中启用脚本调试,选择 工具-Internet 选项-浏览-清除 禁用脚本调试的选择
    2、开始以debug执行ASP.NET程序
    3、在 调试-窗口-运行文档,让VS显示运行文档
    4、单步运行程序过程执行ASPX文件会在运行文档的窗口中显示,双击打开需要调试的文件,在需要调试的脚本位置上设置断点,调试即可

    我用vs.net调试了一下带javascript的html页,结果,调试窗口里根本没有脚本里的变量在运行到断点时的值的显示,这也叫调试呀,我晕,于是我自己写了个跟踪变量的函数,如下.
    //********************************************
    //这是我做的一个跟踪变量函数
    //在需要使用跟踪变量的地方直接调用trace()函数就可以了.
    var newwin;
    var isDebug = 1;
    function trace(s)
    {
    if(isDebug)
    {
    try
    {
    newwin.document.write(s + "<BR>");
    }
    catch(e)
    {
    newwin = window.open("","trace");
    newwin.document.write(s + "<BR>");
    }
    }
    }
    //**********************************************

  • 相关阅读:
    Poly2Tri介绍[转]
    Threejs 开发3D地图实践总结【转】
    cesium and three.js【转】
    Three.js中如何显示帧速【转】
    Cesium学习笔记(七):Demo学习(自由控制飞行的飞机)[转]
    cesium原理篇(三)--地形(1)【转】
    cesium原理篇(二)--网格划分【转】
    Cesium原理篇:3D Tiles(1)渲染调度【转】
    shell脚本监控阿里云专线网络状态,若不通通过触发阿里云的进程监控报警
    jstat命令总结
  • 原文地址:https://www.cnblogs.com/Fooo/p/403307.html
Copyright © 2011-2022 走看看