Sdílet prostřednictvím


Běžné funkce vyhodnocování výrazu

Toto téma popisuje různé funkce Vyhodnocení výrazu, které jsou společné pro ladicí program, lišící se pouze jazykem.

Implicitní proměnné

V jazyce Visual Basic a C# lze implicitní proměnné vytvořit pomocí vyhodnocení výrazu.Tyto implicitní proměnné nikdy nepřesahují rozsah platnosti a mohou být považovány za jiné proměnné.

V jazyce C# lze vytvořit implicitní proměnné deklarací ve vyhodnocení výrazu.V Příkazovém okně lze například zadat následující kód jazyka C#:

int b = 100;

Po spuštění tohoto kódu v Příkazovém okně se v okně Místní hodnoty zobrazí nová implicitní proměnná se znaménkem $ před názvem proměnné, v tomto případě $b.

V jazyce Visual Basic nelze deklarovat implicitní proměnné ve vyhodnocení výrazu.Avšak při použití nedeklarované proměnné ve vyhodnocení výrazu jazyka Visual Basic je vytvořena automaticky implicitní proměnná.V jazyce Visual Basic nejsou implicitní proměnné uvedeny v okně Místní hodnoty.

Zarážky

Pokud Příkazové okno používáte buď k vyhodnocení metody nebo funkce jazyka Visual Basic nebo C#, která obsahuje zarážku, je tato zarážku volána a v Zásobníku volání se zobrazí nová buňka .Zde je příklad jazyka C#:

    class Program
    {
        static void Main(string[] args)
        {
// Breakpoint here:
             int a = 20;
         }
    }

Pokud nastavíte zarážku tam, kde označuje komentář, zkompilujete a spustíte program stisknutím klávesy F5, vyvoláte zarážku běžným způsobem.Pokud nyní vyhodnotíte metodu Main zadáním Program.Main(null) do Příkazového okna, zarážka bude vyvolána podruhé a v Zásobníku volání bude položka pro metodu.

Vyhodnocení v okně Kukátko

Pro vyhnutí se možným nežádoucím vedlejším účinkům, není volání funkce nebo metody automaticky vyhodnoceno při každém kroku ladicího programu.Místo toho umožňuje ručně aktualizovat výsledek ikona.Zobrazuje se ve sloupci Hodnota.Ta umožňuje vyhodnotit volání ručně.Další informace naleznete v tématu Vedlejší efekty a výrazy.

Identita objektu

Tato funkce není pro Visual Basic k dispozici.

Některé aplikace vytvářejí mnoho instancí třídy.V těchto aplikacích je často užitečné mít k rozlišení dané instance třídy identifikátor.Ten může být užitečný, například pokud konkrétní instance třídy nepracuje podle očekávání nebo konkrétní instance byla vložena vícekrát do kolekce, která by ji měla obsahovat pouze jednou.

Identita nativního objektu

Při ladění nespravovaného kódu lze jednoznačně identifikovat objekt pomocí jeho adresy.To je důležité ze dvou důvodů:

  • Objekt lze sledovat pouze pomocí jeho adresy.To zahrnuje schopnost použít adresu pro:

    • Zobrazení hodnoty objektu na této adrese.

    • Kontrolu rovnosti.Adresa objektu může být často použita stejným způsobem jako proměnná objektu sama.

  • Adresu objektu, instanci, lze použít pro nastavení zarážky v metodě v dané konkrétní instanci.

    Předpokládejme například, že máte objekt, který je instancí třídy CMyType, s adresou 0xcccccccc.Zarážku funkce v metodě aMethod této instance lze určit následujícím způsobem:

    ((CMyType *) 0xcccccccc)->aMethod

Identita spravovaného objektu

Se spravovaným kódem nelze použít adresu objektu k identifikaci.Místo toho použijte celé číslo označované jako ID objektu, které je vygenerováno pomocí Ladicích služeb CLR (Common Language Runtime) a přidružené k objektu.Toto číslo je kladné celé číslo generované Ladicími službami CLR (Common Language Runtime).Hodnota ID objektu nemá žádný význam, s výjimkou jednoznačně identifikovat objekt.

Obslužné rutiny objektu jsou zobrazeny jako desítkové celé číslo proměnné délky, s připojenou značkou čísla (#) za číslem, bez úvodních nul, jako například 5#.Obslužné rutiny se objevují ve sloupci Hodnota v různých oknech dat ladicího programu.

Pro vytvoření ID objektu proměnné klikněte pravým tlačítkem myši na proměnnou a vyberte Vytvořit ID objektu.Ladicí program zobrazí číslo s připojeným křížkem (#) za ním, jako například 123#.Pro odstranění ID objektu, klikněte pravým tlačítkem myši na proměnnou a vyberte Odstranit ID objektu.

Když je vyvolána zarážka, lze zadat obslužnou rutinu proměnné do okna Kukátko.Ladicí program zobrazí hodnotu ID objektu, kterou lze rozbalit a zkontrolovat stejně jako jinou proměnnou.

ID objektu lze použít pro nastavení zarážky v metodě konkrétní instance.Předpokládejme například, že máte objekt, který je instancí třídy CMyType a instance má ID objektu 5#.Třída CMyType obsahuje metodu aMethod.Zarážku funkce v metodě aMethod instance 5# lze nastavit následujícím způsobem:

((CMyType) 5#).aMethod

ID objektu lze použít také v podmínce zarážky.Následující příklad ukazuje, jak lze otestovat ID objektu v podmínce.

this == 5#

Viz také

Koncepty

Zobrazení dat v ladicím programu

Zarážky: Použití počtu volání, funkcí zásobníku volání a podmínek k libovolnému přerušení v ladicím programu sady Visual Studio

Další zdroje

Výrazy v ladicím programu

Průvodce ladicím programem