Ako stopové a ladenia v roku 2005 program Visual Basic alebo Visual Basic.NET

Preklady článku Preklady článku
ID článku: 313417 - Zobraziť produkty, ktorých sa tento článok týka.
Pre Microsoft Visual Basic 6.0 verziu tohto článok, pozrite si 161153.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Tento článok ukazuje, ako používať ladenie a sledovania tried. Tieto triedy sú k dispozícii v balíku Microsoft.NET Rámec. Môžete použiť tieto triedy na poskytovanie informácií o výkon aplikácie počas vývoj aplikácií alebo po zavedenie výroby. Tieto triedy sú iba jednou časťou Prístrojové vybavenie funkcií, ktoré sú k dispozícii.NET Rámec.

Požiadavky

Nasledujúci zoznam popisuje odporúčanou hardvérovou softvér, sieťovú infraštruktúru a balíky service pack, ktoré budete potrebovať:
  • Systém Microsoft Windows 2000 alebo Microsoft Windows XP
  • 2005 Microsoft Visual Basic alebo Microsoft Visual Basic.NET
Tento článok tiež predpokladá, že ste oboznámení s programom pri ladení.

Popis technika

Kroky v časti "Vytvoriť vzorku s Debug triedy" ukazujú, ako vytvoriť konzolu aplikácie, ktorá používa Debug triedy na poskytovanie informácií o programe vykonanie.

Keď program spustený, môžete použiť metódy triedy Debug vypracovať správy, ktoré pomáhajú sledovať zistiť poruchy, alebo aby poskytol informácie o meranie výkonnosti. V predvolenom nastavení správy, ktoré vyrába Debug triedy sa zobrazia v okne výstup programu Microsoft Visual Studio integrované vývojové prostredie (IDE).

Vzorky kód použije metódu WriteLine predložiť správu, ktorá nasleduje riadka Terminátor. Keď použijete túto metódu vypracovať správu každej správy sa zobrazí v samostatnom riadku výstupného okna.

Ak používate metódu AssertDebug triedy, výstupného okna zobrazí hlásenie ak zadanej výrazu NEPRAVDA. Správa tiež sa objavuje v modálnym dialógovým oknom do pozície pou?ívate?a. Dialógové okno obsahuje správy, názov projektu a číslo vyhlásenia Debug.Assert . Okno obsahuje aj tri príkaz tlačidlá:
  • Abort: uplatňovanie zaznačí.
  • Znova: uplatňovanie zadá debug režime.
  • Ignorovať: uplatňovanie výnosy.
Používateľ musí kliknite na jedno z týchto tlačidiel pred podaním žiadosti môžete pokračovať.

Môže tiež nariadiť výstup z Debug triedy na miesto určenia iné ako výstup okna. Debug trieda má kolekcia s názvom poslucháčov , obsahujúca poslucháč objektov. Každý poslucháč objekt monitoruje Debug výstup a presmeruje výstup na zadaný cieľ. Každý poslucháč v kolekcii poslucháčov dostane žiadny výstup generuje Debug triedy. Trieda TextWriterTraceListener slúži na definovanie poslucháč objektov. Môžete určiť cieľ pre triedy TextWriterTraceListener cez jeho konstruktoru. Niektoré možné výstup ciele zahŕňajú:
  • Okno konzoly pomocou vlastnosť System.Console.Out .
  • Textom (.txt) súboru pomocou System.IO.File.CreateText("FileName.txt")) vyhlásenie.
Po vytvorení objektu TextWriterTraceListener , musíte pridať objekt odberom Debug.Listeners získať Debug výstup.

Vytvoriť vzorku s Debug triedy

  1. Pomocou jazyka Visual Basic 2005 alebo Visual Basic.ČISTÝ vytvorte novú konzolovú aplikáciu projekt nazvaný conInfo. Do projektu sa dopĺňa verejných modul pomenovaný Module1 predvolené.
  2. Inicializovať premenné, ktoré obsahujú informácie o výrobku, pridajte nasledujúce Dim vyhlásenia:
    Dim sProdName As String = "Widget"
    Dim iUnitQty As Integer = 100
    Dim dUnitCost As Decimal = 1.03
    					
  3. Určiť správu, ktorá vyrába triedy ako prvý vstupný parameter metódy WriteLine . Stlačte klávesovú kombináciu CTRL + ALT + O zabezpečiť, aby Výstup okna je viditeľný.
    Debug.WriteLine("Debug Information-Product Starting ")
    					
  4. Čitateľnosť, použite metódu zarážka zarážka následné správy v okne výstup:
    Debug.Indent()
    					
  5. Zobrazíte obsah vybratých premenné sa používa WriteLine metóda:
    Debug.WriteLine("The product name is " & sProdName)
    Debug.WriteLine("The available units on hand are " & iUnitQty)
    Debug.WriteLine("The per unit cost is " & dUnitCost)
    					
  6. WriteLine metódu môžete použiť aj na zobrazovanie názvov a názov triedy pre žiadny objekt. Napríklad nasledujúci kód zobrazí System.Xml.XmlDocument názvov v okne výstup:
    Dim oxml As New System.Xml.XmlDocument()
    Debug.WriteLine(oxml)
    					
  7. Organizovanie výstup, môžu obsahovať kategórie ako nepovinné, druhý vstupný parameter metódy WriteLine . Ak zadáte kategórie, formát výstupu okno správa "Kategória: správy. ” Napríklad prvý riadok po zobrazí kód "poľa: názov produktu je Widget" vo výstupe okno:
    Debug.WriteLine("The product name is " & sProdName, "Field")
    Debug.WriteLine("The units on hand are " & iUnitQty, "Field")
    Debug.WriteLine("The per unit cost is " & dUnitCost, "Field")
    Debug.WriteLine("Total Cost is" & iUnitQty * dUnitCost, "Calc")
    					
  8. Výstupné okno môže zobraziť správy iba vtedy, ak je určený condition vyhodnotená ako TRUE pomocou WriteLineIf metódy Debug triedy. Podmienka, ktorú treba hodnotiť je prvý vstupný parameter WriteLineIf metódy. Druhý parameter WriteLineIf je správa, ktorá sa zobrazí iba vtedy, ak podmienka v prvej Parameter vyhodnotí ako TRUE.
    Debug.WriteLineIf(iUnitQty > 50, "This message WILL appear")
    Debug.WriteLineIf(iUnitQty < 50, "This message will NOT appear")
    					
  9. Používať metódu AssertDebug triedy tak, že výstup okna zobrazí hlásenie iba vtedy, ak zadaná podmienka vyhodnotí ako FALSE:
    Debug.Assert(dUnitCost > 1, "Message will NOT appear")
    Debug.Assert(dUnitCost < 1, "Message will appear")
    					
  10. Vytvorenie TextWriterTraceListener objektov pre okno konzoly (tr1) a pre textový súbor s názvom Output.txt (tr2), a potom pridajte každý objekt odberom Debug poslucháčov :
    Dim tr1 As New TextWriterTraceListener(System.Console.Out)
    Debug.Listeners.Add(tr1)
            
    Dim tr2 As New _
      TextWriterTraceListener(System.IO.File.CreateText("Output.txt"))
    Debug.Listeners.Add(tr2)
    					
  11. Čitateľnosť, použite metódu Unindent odstrániť zarážky následných správ Debug triedy generuje. Keď použijete zarážka a metód Unindent dohromady, čitateľ rozozná výstup ako skupina.
    Debug.Unindent()
    Debug.WriteLine("Debug Information-Product Ending")
    					
  12. Na zabezpečenie toho, že každý poslucháč objekt dostane všetky jeho výstup, zavolať splachovacími metódu pre triedu medzipamäte Debug :
    Debug.Flush()
    					

Pomocou sledovania triedy

Môžete použiť aj stopových triedy vypracovať správy, že monitorovanie plnenia aplikácia. Sledovania a ladenie kódu triedy zdieľať najviac rovnakých metód výstup, vrátane:
  • WriteLine
  • WriteLineIf
  • Zarážka
  • Zrušiť zarážku
  • Presadzovať
  • Splachovacie
Môžete použiť Debug tried a stopové oddelene alebo spoločne v tej istej iadosti. V Ladiť roztok konfigurácie projektu, sledovania a ladenie výstup sú aktívne. Projekt generuje výstup z oboch tieto triedy na všetky posluchače objekty. Avšak, uvoľnenie roztok konfigurácie projektu iba generuje výstup zo sledovania triedy. Uvoľnenie roztok konfigurácie projekt ignoruje všetky Debug triedy metóda vyvolaniami.
Trace.WriteLine("Trace Information-Product Starting ")

Trace.Indent()

Trace.WriteLine("The product name is " & sProdName)
Trace.WriteLine("The product name is " & sProdName, "Field")
Trace.WriteLineIf(iUnitQty > 50, "This message WILL appear")
Trace.Assert(dUnitCost > 1, "Message will NOT appear")

Trace.Unindent()
Trace.WriteLine("Trace Information-Product Ending")
Trace.Flush()
Console.ReadLine()
				

Overte, že to funguje

  1. Uistite sa, že Debug je aktuálna konfigurácia roztoku.
  2. Ak okno riešenie Explorer nie je viditeľný, stlačiť Klávesovú kombináciu CTRL + ALT + L chcete zobraziť toto okno.
  3. Kliknite pravým tlačidlom na conInfoa potom kliknite na položku Vlastnosti.
  4. Na ľavej table stránka vlastností conInfo, podľa Priečinok konfigurácia, uistite sa, že ?ípka na displeji smeruje na ladenie.
  5. Nad konfigurácie priečinok v poli rozbaľovacieho zoznamu konfigurácie kliknite na aktívny (Debug) alebo ladiťa potom kliknite na tlačidlo OK.
  6. Stlačte kombináciu klávesov CTRL + ALT + O zobrazíte okno výstup.
  7. Stlačením klávesu F5 na spustenie kódu. Keď sa zobrazí dialógové okno Tvrdenie zlyhala , kliknite na tlačidlo Ignorovať.
  8. V okne konzoly, stlačte kláves ENTER. Program by mal dokončiť a výstup okna by mali zobrazovať následujúci výstup:
    Debug Information-Product Starting 
        The product name is Widget
        The available units on hand are 100
        The per unit cost is 1.03
        System.Xml.XmlDocument
        Field: The product name is Widget
        Field: The units on hand are 100
        Field: The per unit cost is 1.03
        Calc: Total cost is 103
        This message WILL appear
        ---- DEBUG ASSERTION FAILED ----
    ---- Assert Short Message ----
    Message will appear
    ---- Assert Long Message ----
    
        at Module1.Main()  C:\Documents and Settings\Administrator\My 
        Documents\Visual Studio Projects\conInfo\Module1.vb(29)
    
        The product name is Widget
        The available units on hand are 100
        The per unit cost is 1.03
    Debug Information-Product Ending
    Trace Information-Product Starting 
        The product name is Widget
        Field: The product name is Widget
        This message WILL appear
    Trace Information-Product Ending
    						
  9. By mali zobrazovať okno konzoly a Output.txt súboru následujúci výstup:
    (The Output.txt file is located in the same directory as the conInfo 
    executable, conInfo.exe. Normally this is the \bin folder of where the 
    project source has been stored. By default that would be C:\Documents and 
    Settings\User login\My Documents\Visual Studio Projects\conInfo\bin)
        The product name is Widget
        The available units on hand are 100
        The per unit cost is 1.03
    Debug Information-Product Ending
    Trace Information-Product Starting 
        The product name is Widget
        Field: The product name is Widget
        This message WILL appear
    Trace Information-Product Ending
    						

Kompletný kód výpis

Module Module1
    Sub Main()
        Dim sProdName As String = "Widget"
        Dim iUnitQty As Integer = 100
        Dim dUnitCost As Decimal = 1.03

        Debug.WriteLine("Debug Information-Product Starting ")
        Debug.Indent()

        Debug.WriteLine("The product name is " & sProdName)
        Debug.WriteLine("The available units on hand are " & iUnitQty)
        Debug.WriteLine("The per unit cost is " & dUnitCost)

        Dim oxml As New System.Xml.XmlDocument()
        Debug.WriteLine(oxml)

        Debug.WriteLine("The product name is " & sProdName, "Field")
        Debug.WriteLine("The units on hand are " & iUnitQty, "Field")
        Debug.WriteLine("The per unit cost is " & dUnitCost, "Field")
        Debug.WriteLine("Total cost is " & iUnitQty * dUnitCost, "Calc")

        Debug.WriteLineIf(iUnitQty > 50, "This message WILL appear")
        Debug.WriteLineIf(iUnitQty < 50, "This message will NOT appear")

        Debug.Assert(dUnitCost > 1, "Message will NOT appear")
        Debug.Assert(dUnitCost < 1, "Message will appear")

        Dim tr1 As New TextWriterTraceListener(System.Console.Out)
        Debug.Listeners.Add(tr1)

        Dim tr2 As New _
          TextWriterTraceListener(System.IO.File.CreateText("Output.txt"))
        
        Debug.Listeners.Add(tr2)

        Debug.WriteLine("The product name is " & sProdName)
        Debug.WriteLine("The available units on hand are " & iUnitQty)
        Debug.WriteLine("The per unit cost is " & dUnitCost)

        Debug.Unindent()
        Debug.WriteLine("Debug Information-Product Ending")

        Debug.Flush()

        Trace.WriteLine("Trace Information-Product Starting ")

        Trace.Indent()

        Trace.WriteLine("The product name is " & sProdName)
        Trace.WriteLine("The product name is " & sProdName, "Field")
        Trace.WriteLineIf(iUnitQty > 50, "This message WILL appear")
        Trace.Assert(dUnitCost > 1, "Message will NOT appear")

        Trace.Unindent()
        Trace.WriteLine("Trace Information-Product Ending")

        Trace.Flush()

        Console.ReadLine()

    End Sub
End Module
				

Riešenie problémov

  • Ak je typ konfigurácie roztok uvoľnenia, trieda výstup Debug sa ignoruje.
  • Po vytvorení TextWriterTraceListener trieda pre konkrétny cieľ TextWriterTraceListener dostane výstup zo sledovania a ladenie kódu triedy. To nastáva bez ohľadu na to či používate Pridať spôsob sledovania alebo ladiť triedy pridať TextWriterTraceListener do triedy poslucháčov .
  • Ak pridáte poslucháč objekt pre rovnaký cieľ v Trace a Debug tried, každý riadok výstupu sú duplicitné, bez ohľadu na to, o tom, či Ladenie alebo Sledovanie generuje výstup.
    Dim tr1 As New TextWriterTraceListener(System.Console.Out)
    Debug.Listeners.Add(tr1)
    Dim tr2 As New TextWriterTraceListener(System.Console.Out)
    Trace.Listeners.Add(tr2)
    					

ODKAZY

Ďalšie informácie nájdete v nasledujúcich témach v .NET rámec triedy knižnica dokumentácia:
Stopový triedy
http://msdn2.Microsoft.com/en-us/library/System.Diagnostics.Trace (vs.71) .aspx

Ladiť triedy
http://msdn2.Microsoft.com/en-us/library/System.Diagnostics.debug (vs.71) .aspx


Ako nástroj malá aplikácia s sledovanie?


http://ASP.dotnetheaven.com/HOWTO/doc/TraceDemo.aspx
alebo

http://Quickstart.developerfusion.Co.UK/Quickstart/HOWTO/doc/TraceDemo.aspx

Vlastnosti

ID článku: 313417 - Posledná kontrola: 7. mája 2012 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Kľúčové slová: 
kbvs2005swept kbvs2005applies kbvs2002sp1sweep kbbug kbdebug kbhowtomaster kbmt KB313417 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:313417

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com