程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 如何在vs.net裡調試腳本

如何在vs.net裡調試腳本

編輯:.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: "+msg));
}

function ASSERT(mustbetrue,msg)
{
      if(mustbetrue==false)throw(new Error(-1,"ASSERT: "+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.de

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved