JavaScript脚本调试经典技巧

原创 2007年09月28日 12:16:00
如何在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>

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

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>");
  }
 } 
}
//**********************************************

</Content><PostDateTime>2005-07-27

 

 

 

 

 

 

 

 

**************************************

 

如何在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>

用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>");
  }
 } 
}
//**********************************************

 

最全面的JavaScript调试技巧总结

最全面的JavaScript调试技巧总结
  • qq_26676207
  • qq_26676207
  • 2016年11月17日 11:27
  • 2110

系列2—编辑调试Lua脚本

BabeLua编辑调试Lua脚本   上一篇《系列1—BabeLua入门》  设置Lua脚本文件夹 在VS菜单上选择:【lua】【Settings】打开设置界面,如下图(左上角选中【Lua Folde...
  • babestudio
  • babestudio
  • 2014年05月27日 18:23
  • 11680

matlab调试技巧

Matlab的调试总体分为,直接调试和间接调试。 1.直接调试: (1)去掉句末的分号; (2)单独调试一个函数:将第一行的函数声明注释掉,并定义输入量,以脚本方式执行 M 文件; (3)适当...
  • neal1991
  • neal1991
  • 2015年10月13日 18:49
  • 1122

Eclipse 10个最有用的java调试技巧

开发程序少不了出错、调试,Eclipse应该是最常用的java ide了,那么Eclipse有哪些技巧可以提高我们调试的效率呢?本文翻译自《Top 10 Java Debugging Tips wit...
  • u011004037
  • u011004037
  • 2015年04月09日 20:02
  • 2641

JavaScript/VBScript脚本程序调试(Wscript篇)

 JavaScript/VBScript脚本程序调试(Wscript篇) 在实际工作中,我发现程序员对脚本抱怨最多的就是脚本程序很难调试这个缺点,特别是调试.vbs等WSH程序的时...
  • u012993732
  • u012993732
  • 2015年08月20日 11:53
  • 595

javascript--经典实例锦集

一,javascript动态显示: 如显示效果上图所示: 如图显示鼠标放在百度谷歌等字样上市动态显示其内容明细:代码如下: head> title>/title> scr...
  • shan1774965666
  • shan1774965666
  • 2015年01月26日 14:37
  • 2585

五个你必须知道的javascript和web 调试技术

在前端开发中,调试技术是必不可少的技能,本文将介绍五种前端开发必备的调试技术。 Weinre移动调试DOM 断点debugger断点native方法hook远程映射本地调试 Weinre 在...
  • bamboolsu
  • bamboolsu
  • 2015年11月17日 23:42
  • 722

Firebug折腾记_(3)JS调试小技巧

简介FireBug备受推崇的一个原因就是对于JS调试;界面功能 启用JS调试功能 选择哪些脚本可以展示 所有旁边那个下拉菜单可以更细化的选择哪个JS文件,支持筛选 调试进入按钮(四个按钮依次解释)断续...
  • bomess
  • bomess
  • 2015年08月21日 17:12
  • 2076

Qt入门(10)——调试技术

命令行参数当你运行Qt程序时,你可以指定几个命令行参数来帮助你调试。-nograb 应用程序不再捕获鼠标或者键盘。当程序在Linux下运行在gdb调试器中时这个选项是默认的。-dograb 忽略任何隐...
  • yincheng01
  • yincheng01
  • 2014年09月30日 06:28
  • 1477

JavaScript经典代码总结

JavaScript经典代码总结 1. oncontextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键 table border...
  • u010403387
  • u010403387
  • 2015年07月16日 11:31
  • 599
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JavaScript脚本调试经典技巧
举报原因:
原因补充:

(最多只允许输入30个字)