無論您的計畫多麼精密、經驗多麼豐富,指令碼錯誤 (bug) 可能在最初就使您的 asp 伺服器端的指令碼無法正確執行。也就是說除錯,即查詢和糾正指令碼錯誤,對開發乙個成功的和強健的 asp 程式是非常重要的。
microsoft® script debugger 是乙個功能強大的除錯工具,它能幫助您迅速查詢錯誤並對伺服器端的指令碼進行互動測試。script debugger 與 windows internet explorer 3.0 版本或更新的版本一起工作。通過它,您可以:
注意您可以使用除錯工具檢視指令碼並找到錯誤所在,但是不能直接編輯指令碼。要想改正錯誤,必須用編輯器編輯指令碼然後儲存,再執行指令碼。
(該功能不能用於 windows 95 或更高的版本。)
在開始除錯伺服器端指令碼之前,您必須首先配置 web 伺服器,使其支援 asp 除錯。
在啟用 web 伺服器除錯之後,就可以使用下面的任一方法除錯指令碼:
除錯伺服器端指令碼時,您可能會碰到各種型別的錯誤。其中的某些錯誤使指令碼無法正確執行、程式停止執行或返回錯誤結果。
語法錯誤是經常碰到的錯誤,它是由不正確的指令碼語法導致的。例如,命令拼寫錯誤或傳遞給函式的引數不正確都將產生錯誤。語法錯誤可能導致您的指令碼不能執行。
執行時錯誤是指令碼在執行過程中指令碼指令試圖執行不可能的動作而導致的。例如,下面的指令碼中包含乙個被零除(一種非法的數**算)的函式,將產生執行時錯誤:
必須糾正導致執行時錯誤的錯誤,這樣才能使指令碼在執行時不被中斷。邏輯錯誤通常可能是潛在和難以檢測的。如果有因鍵入錯誤或程式邏輯流程錯誤引起的邏輯錯誤,指令碼可能會成功執行,但產生的結果卻是錯的。例如,一伺服器端指令碼計畫對乙個值列表排序,如果本應使用 「<」 符號比較數值,但卻使用了「 >」 符號,那麼將返回不正確的排序結果。
可以使用多種不同的除錯技術來查詢錯誤的根源並測試應用程式。
當乙個執行時錯誤中斷了 asp 指令碼的執行時,microsoft 指令碼除錯程式自動啟動,顯示 .asp 檔案,將語句指標指向導致錯誤的行,並產生錯誤訊息。這種除錯方式稱為實時 (jit) 除錯,計算機將暫停程式的執行。必須用編輯程式糾正這些錯誤,儲存所做的修正,然後再執行指令碼。
當乙個錯誤發生並且很難找到錯誤的根源時,可使用預設斷點的除錯方法。斷點將指令碼暫停在特定一行。可以在指令碼中有疑問處設定乙個或多個不同的斷點,然後使用偵錯程式去改正指令碼中設定的變數或屬性的值。當您糾正這些錯誤之後,可以清除斷點以便您的指令碼能不間斷地執行。
請用 microsoft 指令碼除錯程式開啟指令碼,設定斷點。然後用 web 瀏覽器請求此指令碼。當執行到指令碼中含有斷點的行時,計算機啟動指令碼除錯程式,並且語句指標會指在設定了斷點的行上。
通過在伺服器端指令碼中有問題的部分前面插入stop語句,您也可以將斷點新增到用 vbscript 編寫的伺服器端指令碼中。例如,下面的 asp 指令碼包含乙個stop語句,用來在顯示結果之前暫停執行:
<%當您在請求 web 瀏覽器使用的先前的指令碼時,除錯程式啟動並自動顯示 .asp 檔案,而且語句指標會指示stop語句的位置。一定要記住從交付使用的 .asp 檔案中刪除stop語句。dayvalue = 3
theday = weekdayname(dayvalue)
stop 'set breakpoint here.
response.end 'or use this code to set breakpoint
response.write("today is " + theday)
%>
要將斷點加到用 microsoft® jscript 編寫的伺服器端指令碼中,可在有疑問的行前插入debugger語句。例如,下面的指令碼包含了debugger語句,每次指令碼迴圈到乙個新值時,就會中斷執行並自動啟動 microsoft 指令碼除錯程式。
<%@ language="jscript" %>請記住從交付使用的 .asp 檔案中刪除debugger語句。<%
for (var count = 1; count <= 10; count++)
}%>
注意不要混淆debugger語句和 jscriptbreak語句。在程式執行期間,break語句僅退出當前迴圈,並不啟用 microsoft 指令碼偵錯程式,也不暫停程式的執行。
除指令碼除錯程式外,一套好的除錯技巧也能減少花費在分析指令碼錯誤根源上的大量時間。儘管大部分錯誤是由顯而易見的根源導致的,但命令拼寫錯誤或丟失變數、某種型別的邏輯和執行錯誤也可能因不太明顯的根源所致。
參考出處:
使用VS2005除錯ASP程式
在除錯.net程式中,可以有asp程式,可能要進行聯合除錯.以下是除錯的方法.1.在iis中站點下,應用程式配置,配置,開啟啟用asp伺服器端指令碼除錯.2.先在瀏覽器中訪問過需要除錯的檔案 3.開啟vs2005,除錯 附加到程序 選擇使用者名為 iwam 計算機名 的 dllhost.exe 也有...
GDB 內寫指令碼除錯程式
很多純 c 語言的專案都會自己開發一套基礎資料結構,比如最常見的就是造乙個 c vector 或者 string 的輪子,有了 vector 以後就可以往裡面自由 add 任意型別的資料,在具體實現中用 void 做強制型別轉換,這樣帶來的問題是無論 gdb 還是 printf 除錯程式,都必須手動...
小偷程式 asp
這裡所說的 小偷 指的是在asp中運用xml中的xmlhttp元件提供的強大功能,把遠端 上的資料 網頁及其他檔案 抓取到本地,經過各種處理後顯示到頁面上或者儲存進資料庫的一類程式。你可以通過這種小偷程式,完成過去一些似乎完全不可能實現的任務,比如說把某個站的頁面偷梁換柱後變成自己的頁面,或者把某個...