用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開發除錯ASP.NET Core 1.0除錯ASP.NET
- 用vs除錯帶CSS的HTML除錯CSSHTML
- Mac下用VSCode開發除錯GolangMacVSCode除錯Golang
- 使用VS Code開發 除錯.NET Core 應用程式除錯
- vscode使用chrome除錯報錯VSCodeChrome除錯
- VS - 打斷點/本地除錯/遠端除錯 問題斷點除錯
- 如何在VS CODE除錯Angular除錯Angular
- Vscode斷點除錯VSCode斷點除錯
- vscode中除錯typescriptVSCode除錯TypeScript
- VS Code除錯C程式碼除錯C程式
- VS除錯技巧之附加程式除錯
- VS.Net除錯非常慢除錯
- vscode 除錯linux程式VSCode除錯Linux
- VS設定release版本可除錯除錯
- vs搭建遠端除錯環境除錯
- VS 遠端除錯 Azure Web App除錯WebAPP
- vscode除錯使用斷點VSCode除錯斷點
- vs斷點除錯unity安卓包斷點除錯Unity安卓
- vscode配置除錯引數VSCode除錯
- vscode 使用 PHP debug 除錯VSCodePHP除錯
- 使用 vscode 除錯前端程式碼VSCode除錯前端
- VS斷點除錯簡單筆記斷點除錯筆記
- vscode 使用nodejs 除錯jsVSCodeNodeJS除錯
- vscode遠端除錯c++VSCode除錯C++
- 使用vs除錯程式,需要Fn+FnLk除錯
- vs2005斷點除錯.斷點除錯
- vscode+C 編譯除錯VSCode編譯除錯
- 用GDB除錯程式除錯
- vscode 除錯多個js檔案VSCode除錯JS
- vs2017除錯Linux程式除錯Linux
- 詳解配置VS Code/Webstorm來除錯JavaScriptWebORM除錯JavaScript
- 如何在vscode中除錯程式碼?VSCode除錯
- vscode 無法進行 debug 除錯VSCode除錯
- vs2010除錯崩潰 reflector除錯
- vscode 啟動與除錯 flutter 專案VSCode除錯Flutter
- 使用 VSCode 除錯 Electron 主程式程式碼VSCode除錯
- WSL2+Terminal+VScode配置除錯VSCode除錯
- VS Code + Homestead + Xdebug 斷點除錯配置斷點除錯