ASP.NET 程式追蹤與偵錯

34
ASP.NET ASP.NET 程程程程程程程 程程程程程程程

description

ASP.NET 程式追蹤與偵錯. APS.NET 追蹤與偵錯. ASP 不提供,只留下錯誤訊息 ASP.NET 提供 TRACING 功能 錯誤報告更正確,更豐富 安全與隱密性高. 追蹤. ASP.NET 啟用追蹤功能. @Page 指示詞的 trace 屬性 指示 ASP.NET 在輸出網頁內容時附加追蹤輸出. ASP.NET 啟用追蹤功能. 1. 更 改網頁的呈現方式 GridLayout FlowLayout 將追蹤頁與輸出網頁分開. ASP.NET 啟用追蹤功能. - PowerPoint PPT Presentation

Transcript of ASP.NET 程式追蹤與偵錯

Page 1: ASP.NET 程式追蹤與偵錯

ASP.NETASP.NET 程式追蹤與偵錯程式追蹤與偵錯

Page 2: ASP.NET 程式追蹤與偵錯

APS.NETAPS.NET 追蹤與偵錯追蹤與偵錯 ASPASP 不提供,只留下錯誤訊息不提供,只留下錯誤訊息 ASP.NETASP.NET 提供提供 TRACINGTRACING 功能功能 錯誤報告更正確,更豐富錯誤報告更正確,更豐富 安全與隱密性高安全與隱密性高

Page 3: ASP.NET 程式追蹤與偵錯

追蹤追蹤

Page 4: ASP.NET 程式追蹤與偵錯

ASP.NETASP.NET 啟用追蹤功能啟用追蹤功能 @Page@Page 指示詞的指示詞的 tracetrace 屬性屬性 指示指示 ASP.NETASP.NET 在輸出網頁內容時附加追蹤輸出在輸出網頁內容時附加追蹤輸出

Page 5: ASP.NET 程式追蹤與偵錯

ASP.NETASP.NET 啟用追蹤功能啟用追蹤功能1. 1. 更改網頁的呈現方式更改網頁的呈現方式 GridLayoutGridLayoutFlowLayoutFlowLayout將追蹤頁與輸出網頁分開將追蹤頁與輸出網頁分開

Page 6: ASP.NET 程式追蹤與偵錯

ASP.NETASP.NET 啟用追蹤功能啟用追蹤功能2. 2. 拖拉拖拉 LabelLabel 到到 webformwebform 上 上 (FlowLayout(FlowLayout 模式會讓模式會讓 LabelLabel 固定顯示在最上方固定顯示在最上方 ))

Page 7: ASP.NET 程式追蹤與偵錯

ASP.NETASP.NET 啟用追蹤功能啟用追蹤功能3. 3. 點選空白處點選空白處選擇選擇 [DOCUMENT][DOCUMENT] 物件物件將將 [trace][trace] 屬性設定為屬性設定為 truetrue

Page 8: ASP.NET 程式追蹤與偵錯

ASP.NETASP.NET 啟用追蹤功能啟用追蹤功能@Page@Page 指示詞的指示詞的 tracetrace 屬性屬性

指示指示 ASP.NETASP.NET 在輸出網頁內容時附加追蹤輸出在輸出網頁內容時附加追蹤輸出

Page 9: ASP.NET 程式追蹤與偵錯

ASP.NETASP.NET 啟用追蹤功能啟用追蹤功能4. 4. 儲存並建置專案儲存並建置專案5. 5. 執行程式執行程式

追蹤 cookies, 表單 , querystring 等內容

Page 10: ASP.NET 程式追蹤與偵錯

ASP.NETASP.NET 追蹤區段追蹤區段

追蹤輸出區段:追蹤輸出區段: 要求的詳細資訊要求的詳細資訊 追蹤資訊追蹤資訊 控制項樹狀結構控制項樹狀結構 Cookie Cookie 集合集合 檔頭集合檔頭集合 表單集合表單集合 伺服器變數伺服器變數

Page 11: ASP.NET 程式追蹤與偵錯

Trace.axdTrace.axd

可以用來追蹤每次的追蹤輸出可以用來追蹤每次的追蹤輸出 HttpHandlerHttpHandler http://URL/trace.axdhttp://URL/trace.axd 可以呈現目前的追蹤列可以呈現目前的追蹤列

表表

Page 12: ASP.NET 程式追蹤與偵錯

Trace.axdTrace.axd

Page 13: ASP.NET 程式追蹤與偵錯

Trace.axdTrace.axd

以 id 區分追蹤項目

Page 14: ASP.NET 程式追蹤與偵錯

程式控制輸出程式控制輸出

會以紅字加以標示

Page 15: ASP.NET 程式追蹤與偵錯

程式控制輸出程式控制輸出

Page 16: ASP.NET 程式追蹤與偵錯

ASP.NETASP.NET 追蹤功能追蹤功能 這個輸出是針對任何這個輸出是針對任何 clientclient 安全性考量最好設定成只提供開發本機使用安全性考量最好設定成只提供開發本機使用 可以透過修改可以透過修改 web.configweb.config 來完成來完成 (( 加入加入 <trace<trace

>> 組態元素組態元素 )) 部署發布網頁時應將此功能取消部署發布網頁時應將此功能取消

Page 17: ASP.NET 程式追蹤與偵錯

ASP.NETASP.NET 追蹤功能追蹤功能 22

Page 18: ASP.NET 程式追蹤與偵錯

ASP.NETASP.NET 追蹤功能追蹤功能 22

修改修改 web.configweb.config

滑鼠快按兩下

Page 19: ASP.NET 程式追蹤與偵錯

ASP.NETASP.NET 追蹤功能追蹤功能 22

Page 20: ASP.NET 程式追蹤與偵錯

ASP.NETASP.NET 追蹤功能追蹤功能 22

更改 <trace><trace enabled=“true” requestlimit=“40” pageoutpu=“false” tracemode=“sortbycategory” localonly=“true”/>

Page 21: ASP.NET 程式追蹤與偵錯

ASP.NETASP.NET 追蹤功能追蹤功能 22記得要先關閉 [DOCUMENT] 中的 [trace] 屬性

不顯示追蹤區塊

Trace.axd 中才有追蹤紀錄

Page 22: ASP.NET 程式追蹤與偵錯

偵錯偵錯

Page 23: ASP.NET 程式追蹤與偵錯

程式錯誤種類程式錯誤種類 語法錯誤語法錯誤 語意錯誤:程式會中斷或毀損語意錯誤:程式會中斷或毀損 邏輯錯誤:程式不會中斷或毀損邏輯錯誤:程式不會中斷或毀損

Page 24: ASP.NET 程式追蹤與偵錯

程式錯誤的預防程式錯誤的預防 命名規則一致命名規則一致 適時加入註解適時加入註解 建立測試計畫:如何測試每一個功能建立測試計畫:如何測試每一個功能 盡量使用盡量使用 IDEIDE 開發開發 找其他測試者來測試程式找其他測試者來測試程式

Page 25: ASP.NET 程式追蹤與偵錯

預設使用預設使用 DEBUGDEBUG 模式編譯程式模式編譯程式假設有一個除以零的狀況產生

條件為 false 時輸出訊息

Page 26: ASP.NET 程式追蹤與偵錯

預設使用預設使用 DEBUGDEBUG 模式編譯程式模式編譯程式雖然出現錯誤訊息,但是也暴露的程式碼

Page 27: ASP.NET 程式追蹤與偵錯

關閉關閉 DEBUGDEBUG 模式編譯程式模式編譯程式

Page 28: ASP.NET 程式追蹤與偵錯

關閉關閉 DEBUGDEBUG 模式編譯程式模式編譯程式Web.config <compilation>

將 debug=“true” 改成 debug=“false”

Page 29: ASP.NET 程式追蹤與偵錯

關閉關閉 DEBUGDEBUG 模式編譯程式模式編譯程式

改成 release

重新建置專案再執行 ( 不可以使用 來執行 )

Page 30: ASP.NET 程式追蹤與偵錯

關閉關閉 DEBUGDEBUG 模式編譯程式模式編譯程式只出現錯誤訊息

Page 31: ASP.NET 程式追蹤與偵錯

自動導向錯誤頁面自動導向錯誤頁面

Mode 設定為 OndefaultRedirect 設定錯誤頁面

Page 32: ASP.NET 程式追蹤與偵錯

設定中斷點設定中斷點

Page 33: ASP.NET 程式追蹤與偵錯

設定中斷點設定中斷點

Page 34: ASP.NET 程式追蹤與偵錯

直接改變變數值直接改變變數值直接改變變數值,用 F8 繼續向下執行