Felsöka en ASP.NET-webbprogram

Mer information om hur du utför den här uppgiften med hjälp av Microsoft Active Server Pages klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

hur du använder ett objekt för ASP-felsökning felsöka ASP-sidor

Sammanfattning

Använd den här stegvisa guiden för att ställa in en brytpunkt, använda spårning på sidnivå och skriva ut egna spårningsmeddelanden i ett ASP.NET-program.

Felsöka nya funktioner i ASP.NET kan du spåra förloppet webbprogrammen och mer lätt identifiera och diagnostisera problem.

Krav

Följande lista ger en översikt över rekommenderad maskinvara, programvara, nätverksinfrastruktur och service Pack-uppdateringar som du behöver:

  • Microsoft Visual Studio .NET

  • Microsoft Internet Information Services (IIS) 5.0

Den här artikeln förutsätter att du är bekant med följande avsnitt:

  • Webbprogram

  • Microsoft ASP.NET

Översikt

Felsökning en traditionell ASP-program i allmänhet innebär att placera Response.Write -satser i hela koden att spåra variabelvärden och körning av banor. Programsatsen är synliga för användare om du inte ta bort rapporter för felsökning innan du distribuerar programmet.

ASP.NET gör det mycket enklare att använda Webbfelsökning programmet dem. Du kan använda spårning-satser för att felsöka programmet på ett sätt som liknar med Response.Write -uttryck. Du kan dock lämna spårning rapporter i programmet även efter distribution.

Du kan konfigurera webbprogrammet ska kunna spåras på sidnivå eller programnivå och du kan enkelt stänga av och. Du kan också styra spårningen utdata så att endast vissa användare att se Felsökning utdata mål.

Skapa ett ASP.NET-program och lägga till brytpunkter om du vill felsöka programmet

Följande procedur skapar en enkel ASP.NET-webbprogram som utför en beräkning på två tal och visar resultatet på skärmen. När du lägger till en brytpunkt i funktionen Lägg till Lägg märke till hur fungerar de nya interaktiva felsökningsfunktioner i ASP.NET:

  1. Starta Microsoft Visual Studio .NET.

  2. Skapa ett nytt webbprogram med ASP.NET Visual Basic-projekt. Namnet ASPDebuggingExample.

  3. I WebForm1.aspx, växla till HTML-vy.

  4. Skriv eller klistra in följande kod mellan de inledande och avslutande taggarna för formuläret.

    Obs! Om du klistrar in koden, klistrar du in det som HTML-kod. Om du vill göra detta klickar du på
    Klistra in som HTMLRedigera -menyn.

    När du kör koden, uppmanas du att ange två siffror och visar en kommandoknapp. När du klickar på kommandoknappen koden adderar två tal och resultatet visas på skärmen.

    <TABLE id="Table1" cellSpacing="1" cellPadding="1" width="300" border="0">
    <TR><TD>
    <asp:Label id="Label1" runat="server">First Number:</asp:Label>
    </TD>
    <TD>
    <asp:TextBox id="txtFirstNumber" runat="server"></asp:TextBox>
    </TD></TR>
    <TR><TD>
    <asp:Label id="Label2" runat="server">Second Number:</asp:Label>
    </TD>
    <TD>
    <asp:TextBox id="txtSecondNumber" runat="server"></asp:TextBox>
    </TD></TR>
    <TR><TD>
    <asp:Label id="Label3" runat="server">Sum:</asp:Label>
    </TD>
    <TD>
    <asp:TextBox id="txtSum" runat="server"></asp:TextBox>
    </TD></TR>
    <TR><TD>
    <asp:Button id="Button1" runat="server" Text="Add Numbers"></asp:Button>
    </TD>
    <TD>
    </TD></TR>
    </TABLE>

  5. Klicka på knappen Design i det nedre vänstra hörnet av kod-fönstret för att växla till designvyn.

  6. Dubbelklicka på Lägg till tal för att visa koden och skriva en händelsehanterare för en kommandoknapp klickar du på händelsen.

  7. Lägg till följande kod i händelsehanteraren.

    Dim intTotal as integerDim intFirstNumber as integer
    Dim intSecondNumber as integer

    ' Get the values from the input boxes.
    intFirstNumber = CInt(txtFirstNumber.Text)
    intSecondNumber = CInt(txtSecondNumber.Text)

    ' Get the total and display it.
    intTotal = intFirstNumber + intSecondNumber
    txtSum.Text = CStr(intTotal)

  8. Markera följande kodrad i rutinen Button1_Click .

    intTotal = intFirstNumber + intSecondNumber

    Tryck på F9 om du vill ange en brytpunkt på den här raden.

    En brytpunkt-indikator visas på raden i koden.

  9. Spara filen.

  10. Kompilera och kör programmet. Om du vill göra detta klickar du på
    StartFelsök -menyn.

    WebForm1 visas på skärmen. Infoga kontroller och skicka-knapp visas också i formuläret.

  11. Skriv ett värde i var och en av de två första input kontrollerna och klicka sedan på Lägg till tal.

    I Visual Studio .NET Integrated Development Environment (IDE) kommer i fokus och koden uppehåll när brytpunkten har uppnåtts. Du kan använda lokalrutan att undersöka innehållet i variablerna och gör eventuella ändringar. Du kan lägga till en eller flera bevakningar att spåra värdena för variabler i rutinen. Eller du kan fortsätta att köra programmet.

  12. Klicka på Felsök -menyn
    Fortsätt om du vill fortsätta att köra programmet.

    WebForm1 visas på skärmen och resultatet visas i den tredje rutan som indata.

  13. Stäng webbläsaren och återgå till Visual Studio .NET IDE.

  14. Klicka på Radera alla brytpunkter om du vill ta bort alla brytpunkter från programmet på Felsök -menyn.

Kontrollera att den fungerar

När du klickar på Lägg till tal, Visual Studio .NET IDE kommer i fokus och koden stannar vid den punkt där brytpunkten har angetts.

Lägg till sidnivå spårning till ASP.NET-programmet

Följande procedur konfigurerar webbprogram för att spåra utdata ska visas. Sidan nivå Trace direktiv läggs till sidan för att visa att sidnivå spårning används. Spårning-koden på sidan spårar körning och varierande innehåll:

  1. I WebForm1.aspx, växla till HTML-vy. Lägg till följande attribut / värde-par i page -direktivet överst i fönstret kod.

    Trace=True
  2. Högerklicka på WebForm1.aspxoch klicka sedan på
    Visa kod.

  3. Använda trace-satser och visa innehåll i variabler på flera olika ställen i rutinen i rutinen Button1_Click .

    Till exempel ersätta befintliga favoritflikar med följande.

    Trace.Write("Button1_Click", "Entering the Add routine")
    Dim intTotal as integer
    Dim intFirstNumber as integer
    Dim intSecondNumber as integer

    ' Get values from the input boxes.
    intFirstNumber = CInt(txtFirstNumber.Text)
    intSecondNumber = CInt(txtSecondNumber.Text)
    Trace.Write("Button1_Click", "Amount to add:" & _
    CStr(intFirstNumber) & " and " & CStr(intSecondNumber))

    ' Get the total and display it.
    intTotal = intFirstNumber + intSecondNumber
    Trace.Write("Button1_Click", "Total:" & CStr(intTotal))
    txtSum.Text = CStr(intTotal)

    Trace.Write("Button1_Click", "Leaving the Add routine")

  4. Klicka på Spara.

  5. Klicka på Felsök -menyn
    Start för att bygga och köra programmet.

    WebForm1 visas på skärmen. Observera att spårningsinformation för program, till exempel begära information spårinformation, hierarkisk lista över kontroller på sidan och beständiga objekt i Application- eller Session-lägen.

  6. Skriv siffrorna i två första input kontroller och klicka sedan på Lägg till tal.

    Resultatet visas i den tredje rutan som indata. Och egen spårnings-meddelandena från rutinen Button1_Click visas i avsnittet Spårningsinformation.

Kontrollera att den fungerar

Första gången formuläret läses in visas allmänna spårningsinformation för sidan. Om du klickar på knappen Lägg till tal visas anpassade spårningsmeddelanden från rutinen Button1_Click i avsnittet Spårningsinformation .

Alltihop

&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;&lt;html&gt;
&lt;head&gt;
&lt;title&gt;WebForm1&lt;/title&gt;
&lt;meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0"&gt;
&lt;meta name="CODE_LANGUAGE" content="Visual Basic 7.0"&gt;
&lt;meta name="vs_defaultClientScript" content="JavaScript"&gt;
&lt;meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"&gt;
&lt;/head&gt;
&lt;Script language="vb" runat="server" id="script1"&gt;
Sub Button1_Click(Sender as object, e as EventArgs)
Trace.Write("Button1_Click", "Entering the Add routine")

Dim intTotal as integer
Dim intFirstNumber as integer
Dim intSecondNumber as integer

' Get the values from the input boxes.
intFirstNumber = CInt(txtFirstNumber.value)
intSecondNumber = CInt(txtSecondNumber.value)
Trace.Write("Button_Click", "Amount to add:" &amp; CStr(intFirstNumber) &amp; " and " &amp; CStr(intSecondNumber))

' Get the total and display it.
intTotal = intFirstNumber + intSecondNumber
Trace.Write("Button1_Click", "Total:" &amp; CStr(intTotal))
txtTotal.value = CStr(intTotal)

Trace.Write("Button1_Click", "Leaving the Add routine")
End Sub
&lt;/Script&gt;
&lt;body MS_POSITIONING="GridLayout"&gt;
&lt;form id="Form1" method="post" runat="server"&gt;
&lt;asp:Label id="lblFirstNumber" runat=server Width=125&gt;
First Number:
&lt;/asp:Label&gt;
&lt;input id=txtFirstNumber type=text size=5 maxlength=3
runat=server NAME="txtFirstNumber"/&gt;
&lt;br&gt;
&lt;asp:Label id="lblSecondNumber" runat=server Width=125&gt;
Second Number:
&lt;/asp:Label&gt;
&lt;input id=txtSecondNumber type=text size=5 maxlength=3
runat=server NAME="txtSecondNumber"/&gt;
&lt;br&gt;
&lt;asp:Label id="lblTotal" runat=server Width=125&gt;
Total:
&lt;/asp:Label&gt;
&lt;input id="txtTotal" type=text size=5 maxlength=5
runat=server NAME="txtTotal" readonly/&gt;
&lt;br&gt;&lt;br&gt;
&lt;input type=submit id=Button1 value="Add Numbers" onserverclick="Button1_Click"
runat=server NAME="Button1"/&gt;
&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;
"?><%@ Page Language="vb" Trace=true%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<Script language="vb" runat="server" id="script1">
Sub Button1_Click(Sender as object, e as EventArgs)

Trace.Write("Button1_Click", "Entering the Add routine")
Dim intTotal as integer
Dim intFirstNumber as integer
Dim intSecondNumber as integer

' Get values from the input boxes.
intFirstNumber = CInt(txtFirstNumber.Text)
intSecondNumber = CInt(txtSecondNumber.Text)
Trace.Write("Button1_Click", "Amount to add:" & _
CStr(intFirstNumber) & " and " & CStr(intSecondNumber))

' Get the total and display it.
intTotal = intFirstNumber + intSecondNumber
Trace.Write("Button1_Click", "Total:" & CStr(intTotal))
txtSum.Text = CStr(intTotal)

Trace.Write("Button1_Click", "Leaving the Add routine")

End Sub
</Script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="300" border="0">
<TR>
<TD><asp:Label id="Label1" runat="server">First Number:</asp:Label>
</TD>
<TD>
<asp:TextBox id="txtFirstNumber" runat="server"></asp:TextBox>
</TD>
</TR>
<TR>
<TD>
<asp:Label id="Label2" runat="server">Second Number:</asp:Label>
</TD>
<TD>
<asp:TextBox id="txtSecondNumber" runat="server"></asp:TextBox>
</TD>
</TR>
<TR>
<TD>
<asp:Label id="Label3" runat="server">Sum:</asp:Label>
</TD>
<TD>
<asp:TextBox id="txtSum" runat="server"></asp:TextBox>
</TD>
</TR>
<TR>
<TD>
<asp:Button id="Button1" runat="server" Text="Add Numbers" OnClick="Button1_Click"></asp:Button>
</TD>
<TD>
</TD>
</TR>
</TABLE>
</form>
</body>
</HTML>

Referenser

Mer information finns på följande Microsoft Developer Network (MSDN)-webbplatser:





För mer information klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

vanliga fel när du felsöker ett ASP.NET-program i Visual Studio .NET

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×