用VS除錯asp
所謂的動態除錯(跟蹤)是指,讓程式一步一步的執行,我們可以隨時隨地的關注程式的執行狀態。中斷的意思就是讓程式先別急著往下執行,等我檢視完了,給你指令再接著執行。斷點麼,就是中斷的點唄,就是程式執行到此時,先中斷下了,停下了讓我看看:)
1.要想用vs來除錯,先要讓啟用伺服器端除錯,就是在iis中設定一下就行,iis7中設定如下圖示(iis7中不僅網站那要設定,在IE那也要設定才能生效):
2.在IE的 Internet選項-->設定-->禁用高階除錯(取消打鉤)-->顯示友好Http錯誤資訊(取消打鉤)
3.在要除錯的地方,插入stop語句:
4.在ie中訪問頁面,此時會彈出對話方塊,選擇vs2005或者vs2010作為偵錯程式都行,並點選“是”(VS2010退出的時候貌似存在點問題)
之後,會有附加安全警告,不用理會,選擇附加到此程式即可,即點選“附加”。就會出來除錯介面:
大家注意4個地方:
最上面的除錯工具欄,那有進行跟蹤除錯的命令按鈕。
最左邊的黃色箭頭和這一灰色列,黃色箭頭告訴我們現在程式執行到那一步了。
右邊解決方案資源管理器是iis伺服器載入的asp檔案。
最下面的一些提示欄還是很有幫助的,比如呼叫堆疊,區域性變數,監視等。
現在結合除錯例項,一一為大家進行解釋。

點選綠色三角則讓程式繼續執行,如果後面有斷點(後面介紹如何設定斷點)或者stop則又會中斷,否則asp中伺服器腳步執行完畢,就能在頁面中看見結果。第三個藍色方塊按鈕,是指結束除錯,即使有斷點也不會中斷了。黃色箭頭是用來顯示當前中斷的位置,可能我們檢視其他頁面的程式碼,忘記當前程式執行到哪了,點選黃色箭頭就能立刻轉到程式執行點(黃色箭頭所指位置表示該語句還未執行)。

比如,伺服器準備執行Easp.Use “tpl”這條語句了,如果我按f10,那麼黃色箭頭將移動到下一條語句:Easp.Tpl.Load "test.html" 。如果按f11則會跟蹤到Easp.Use這個函式中,如下圖:

對於Use我們沒什麼疑問,不想在Use函式裡面一步一步跟蹤了,就可以按shift+f11(點選工具欄按鈕也行J)就會跳出Use函式,程式就會在Easp.Tpl.Load "test.html"語句處中斷。


此時表示在 Easp.W Easp.Tpl.GetHtml 設定了斷點,當程式執行到此處就會停止下來。
剛才大致給大家介紹瞭如何用stop語句來啟用vs進行除錯,然後,在除錯的過程中如何設定斷點,並進行一步一步的跟蹤,如果跟蹤到函式中,又如何快速的從函式中跳出來。不過,我們除錯的目的是從中找出bug來,關鍵點就是要檢視變數的值,那麼我們來看看用在靜態除錯中,要寫一堆的東東來檢視,但在動態除錯中不費吹灰之力就能獲得。

當前的所有變數都能看見,而且變數的值,變數的型別也都清清楚楚。對應物件變數點選加號還能展開檢視很多的資訊。

呵呵,不用寫任何語句就能看見:訪問該頁面時,有一個get引數,“id=123”,檢視session啊,application啊都很方便,自己定義的變數更是不用說,當然,如果程式沒執行到變數賦值處,就什麼也沒有哦。即使是記錄集檢視起來也很方便。

呵呵,其實不用急,點選“監視”,在名稱列中,輸入想要知道的變數名,然後回車,即可!而且在這裡面動態的輸入計算都沒問題!

這樣除錯是不是比trace更方便一些?不用為了測試變數值去寫一堆程式碼,而且在看程式邏輯上看來n遍都覺得無錯誤時,就是不知道變數是在哪出錯時,用動態跟蹤就很簡單了。還有更多的功能,就不介紹了,大家研究了記得貢獻成果哦!
嘻嘻,其實完全可以用VS來寫asp網站,這樣編寫和除錯完全整合在一起,除錯時stop都不用寫了:),而且vs還能整合vss,svn這樣的原始碼管理工具,團隊開發也很方便。總之是用vs來寫是好處多多啊(哎,被微軟的IDE毒害太深了!),只是沒有DW那種關於Easp的智慧提示(但有vbscript的提示),但是寫熟後Easp的那幾個函式還記不住?
相關文章
- 如何在VS CODE除錯Angular除錯Angular
- VS Code除錯C程式碼除錯C程式
- VS - 打斷點/本地除錯/遠端除錯 問題斷點除錯
- vs2010除錯崩潰 reflector除錯
- VS設定release版本可除錯除錯
- vs搭建遠端除錯環境除錯
- VS Code + Homestead + Xdebug 斷點除錯配置斷點除錯
- vs斷點除錯unity安卓包斷點除錯Unity安卓
- VS斷點除錯簡單筆記斷點除錯筆記
- OrchardNoCMS vNext如何在VS2015下除錯除錯
- 詳解配置VS Code/Webstorm來除錯JavaScriptWebORM除錯JavaScript
- 利用VS2017編譯、除錯Linux程式編譯除錯Linux
- 【PHP】XDebug+VS Code除錯PHP頁面PHP除錯
- 如何在 VS Code 中除錯 LeetCode 程式碼?除錯LeetCode
- 程式設計技巧 --- VS如何除錯.Net原始碼程式設計除錯原始碼
- [轉載]VS2017除錯閃退之Chrome除錯Chrome
- VS2022-建立 ASP.NET Core Web 應用ASP.NETWeb
- Docker PHP 配置 VS Code Xdebug PHP 除錯工具: Xdebug for DockerDockerPHP除錯
- VS code中斷點除錯Vue CLI 3專案斷點除錯Vue
- Electron 應用除錯指南除錯
- Flutter 應用程式除錯Flutter除錯
- 用GDB除錯程式(六)除錯
- 在windows上配置vs code編譯除錯c/c++Windows編譯除錯C++
- 【推理引擎】在 VS Code 除錯 ONNXRuntime 的測試單元除錯
- 使用VS Code從零開始開發除錯.NET 5除錯
- 除錯篇——除錯物件與除錯事件除錯物件事件
- 如何提高後臺服務應用問題的排查效率?日誌 VS 遠端除錯除錯
- 使用Eclipse除錯PHP應用Eclipse除錯PHP
- [譯] 使用 VS Code 除錯 Node.js 的超簡單方法除錯Node.js
- vs code 刪除空行
- ASP.Net 管道模型 VS Asp.Net Core 管道 總結ASP.NET模型
- 【譯】使用 ndb 除錯 node 應用除錯
- PHP CLI應用的除錯原理PHP除錯
- ASP.NET Core Web Api之JWT VS Session VS Cookie(二)ASP.NETWebAPIJWTSessionCookie
- CubeMX + VS Code配置環境代替Keil編寫燒錄除錯程式除錯
- Windows windbg kernel debug 雙機核心除錯 - USB3.0 除錯 USB除錯 除錯線Windows除錯
- 用GPT-4除錯 用Claude 3編碼GPT除錯
- vs 嘗試執行專案時出錯:無法啟動除錯。拒絕訪問。除錯
- 攻略丨雲開發VS Code 外掛 CloudBase Toolkit 雲函式除錯Cloud函式除錯