Sdílet prostřednictvím


Postupy: Přidání příkazů trasování do kódu aplikace

Poznámka:

Tento článek je specifický pro rozhraní .NET Framework. Nevztahuje se na novější implementace .NET, včetně .NET 6 a novějších verzí.

Metody používané nejčastěji pro trasování jsou metody zápisu výstupu do naslouchacích procesů: WriteIf, WriteIf, WriteLineIf, Assert a Fail. Tyto metody lze rozdělit do dvou kategorií: Write, WriteLine a Fail všechny výstupy vygenerují bezpodmínečně, zatímco WriteIf, WriteLineIf a Assert testují logickou podmínku a zápis nebo nezapisují na základě hodnoty podmínky. WriteIf a WriteLineIf generují výstup, pokud je truepodmínka , a Assert vygeneruje výstup, pokud je falsepodmínka .

Při navrhování strategie trasování a ladění byste měli zvážit, jak chcete, aby vypadal výstup. Několik příkazů write naplněných nesouvisejícími informacemi vytvoří protokol, který je obtížně čitelný. Na druhou stranu použití WriteLine k vložení souvisejících příkazů na samostatné řádky může být obtížné rozlišit, které informace patří dohromady. Obecně platí, že pokud chcete zkombinovat informace z více zdrojů, použijte více příkazů Write, abyste vytvořili jednu informativní zprávu, a příkaz WriteLine použijte, když chcete vytvořit jednu úplnou zprávu.

Napsání úplného řádku

  1. Volání WriteLine nebo WriteLineIf metody.

    Návrat na začátek řádku je připojen na konec zprávy tato metoda vrátí, takže další zpráva vrácená Write, WriteIf, WriteLine nebo WriteLineIf začne na následujícím řádku:

    Dim errorFlag As Boolean = False
    Trace.WriteLine("Error in AppendData procedure.")
    Trace.WriteLineIf(errorFlag, "Error in AppendData procedure.")
    
    bool errorFlag = false;
    System.Diagnostics.Trace.WriteLine ("Error in AppendData procedure.");
    System.Diagnostics.Trace.WriteLineIf(errorFlag,
       "Error in AppendData procedure.");
    

Zápis částečného řádku

  1. Volání Write nebo WriteIf metody.

    Další zpráva vložená příkazem Write, WriteIf, WriteLine nebo WriteLineIf začne na stejném řádku jako zpráva vložená příkazem Write nebo WriteIf:

    Dim errorFlag As Boolean = False
    Trace.WriteIf(errorFlag, "Error in AppendData procedure.")
    Debug.WriteIf(errorFlag, "Transaction abandoned.")
    Trace.Write("Invalid value for data request")
    
    bool errorFlag = false;
    System.Diagnostics.Trace.WriteIf(errorFlag,
       "Error in AppendData procedure.");
    System.Diagnostics.Debug.WriteIf(errorFlag, "Transaction abandoned.");
    Trace.Write("Invalid value for data request");
    

Ověření existence určitých podmínek před nebo po provedení metody

  1. Zavolejte metodu Assert .

    Dim i As Integer = 4
    Trace.Assert(i = 5, "i is not equal to 5.")
    
    int i = 4;
    System.Diagnostics.Trace.Assert(i == 5, "i is not equal to 5.");
    

    Poznámka:

    Assert můžete použít s trasováním i laděním. Tento příklad vypíše zásobník volání do libovolného naslouchacího procesu v kolekci naslouchacích procesů . Další informace naleznete v tématu Kontrolní výrazy ve spravovaném kódu a Debug.Assert.

Viz také