ASP.NET調試
調試允許開發人員逐步瞭解代碼的工作過程,變量的值是如何變化的,如何創建和銷燬對象等。
當網站第一次執行時,Visual Studio會顯示一個提示,詢問是否應該啓用它來進行調試。
爲了方便演示,這裏創建一個ASP.NET空網站,並添加一個窗體文件:Default.aspx ,以及後端 Default.aspx.cs 文件。簡單實現計算輸入字符串的長度。
Default.aspx 文件的代碼 -
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>用於演示調試代碼</title>
</head>
<body>
<form id="form1" runat="server">
<div>
輸入字符串:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="計算長度" />
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
Default.aspx.cs 文件的代碼 -
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
String str = TextBox1.Text;
String msg = "當前字符串長度爲:"+(str.Length).ToString();
Label1.Text = msg;
}
}
可以在代碼行的左側點擊右鍵插入斷點,假設在代碼的第17行設置了一個斷點,如下 -
通過點主菜單中的【調試】->【開始調試】,來啓用調試,如下所示 -
這裏啓動了網站頁面,然後輸入一個字符串,並點擊提交 -
也可以通過在web.config
中配置以下代碼行:
<system.web>
<compilation debug="true">
<assemblies>
..............
</assemblies>
</compilation>
</system.web>
調試工具欄提供了所有可用於調試的工具。和其它的IDE差不多,多次使用和練習就可以了。
斷點
斷點指定運行時運行特定的代碼行,然後停止執行,以便可以檢查代碼並執行各種調試工作,例如,更改變量的值,逐步執行代碼,移入和移出函數和方法等等。
調試窗口
Visual Studio提供了以下調試窗口,每個窗口都顯示一些程序信息。下表列出了窗口:
編號
窗口
描述
1
Immediate
顯示變量和表達式。
2
Autos
顯示當前和之前的語句中的所有變量。
3
Locals
顯示當前上下文中的所有變量。
4
Watch
最多顯示四組不同的變量。
5
Call Stack
顯示調用堆棧中的所有方法。
6
Threads
顯示和控制線程。
易百教程移動端:請掃描本頁面底部(右側)二維碼並關注微信公衆號,回覆:"教程" 選擇相關教程閱讀或直接訪問:http://m.yiibai.com 。
上一篇:ASP.NET錯誤管理 下一篇:ASP.NET LINQ
加QQ羣啦,易百教程官方技術學習羣
QQ羣名稱
羣號
人數
免費
等級
羣介紹
JAVA技術
227270512
2000
否
LV5
Java基礎,JSP(Servlet),JAVA框架,Java高併發架構,Maven等等
MySQL/SQL
418407075
2000
否
LV5
SQL基礎,MySQL基礎,MySQL存儲過程,視圖,觸發器等等
大數據開發
655154550
2000
否
LV5
Spark,zookeeper,kafka,CDH,hive,fulme,hbase等Hadoop雲計算生態圈技術
Python技術
287904175
2000
否
LV5
Python編程,Python Web,Python大數據,Python爬蟲,自然語言處理等
Linux技術
479429477
2000
是
LV1
Redhat/Centos,Ubuntu,Shell,運維,監控等技術
PHP/Web開發者
460153241
1000
是
LV0
PHP基礎,PHP高級,網站優化/架構,JS,HTML,JQuery,前端等Web開發技術
人工智能
456236082
1000
是
LV0
人工智能,深度學習,算法等技術
Oracle數據庫
175248146
1000
是
LV0
SQL基礎,Oracle基礎,Oracle存儲過程,視圖,觸發器等等
Android開發
159629185
1000
是
LV0
Android開發,Android Studio,Kotlin,Dagger等技術
微軟技術
579821706
1000
是
LV0
C#,ASP.Net,VB.Net,ADO.Net,SQL Server,VBA,Excel等技術