Kontrola proměnných v oknech Automatické hodnoty a Místní hodnoty

Okna Automatické hodnoty a Místní hodnoty zobrazují hodnoty proměnných při ladění. Okna jsou k dispozici pouze během ladicí relace. V okně Automatické položky se zobrazují proměnné použité kolem aktuálního příkazu, kde je ladicí program pozastavený. Okno Locals zobrazuje proměnné definované v místním oboru, což je obvykle aktuální funkce nebo metoda.

Poznámka:

Pokud jste se poprvé pokusili ladit kód, můžete si před přechodem do tohoto článku přečíst ladění pro absolutní začátečníky a techniky ladění a nástroje .

Okno Automatické vytváření je k dispozici pro kód jazyka C#, Visual Basic, C++ a Python, ale ne pro JavaScript nebo F#.

Pokud chcete otevřít okno Automatické položky při ladění, vyberte Ladit>>automatické windows nebo stiskněte kombinaci kláves Ctrl+Alt+V>A.

Pokud chcete otevřít okno Místní hodnoty, při ladění vyberte Ladit>místní prostředí Systému Windows>nebo stiskněte Alt +4.

Poznámka:

Toto téma se týká sady Visual Studio ve Windows. Visual Studio pro Mac najdete v tématu Vizualizace dat v Visual Studio pro Mac.

Použití oken Automatické hodnoty a místní hodnoty

Pole a objekty se zobrazují v oknech Automatické a Místní hodnoty jako stromové ovládací prvky. Výběrem šipky vlevo od názvu proměnné rozbalte zobrazení, aby se zobrazila pole a vlastnosti. Tady je příklad System.IO.FileStream objektu v okně Místní hodnoty :

Snímek obrazovky s oknem Místní hodnoty a souborem nastaveným na hodnotu System.IO.FileStream

Snímek obrazovky s oknem Místní hodnoty a souborem nastaveným na hodnotu System.IO.FileStream

Červená hodnota v okně Místní hodnoty nebo Automatické hodnoty znamená, že se hodnota od posledního vyhodnocení změnila. Změna může být z předchozí relace ladění nebo z důvodu změny hodnoty v okně.

Výchozí číselný formát v oknech ladicího programu je desítkové. Pokud ho chcete změnit na šestnáctkový, klikněte pravým tlačítkem myši do okna Místní hodnoty nebo Automatické hodnoty a vyberte Šestnáctkové zobrazení. Tato změna má vliv na všechna okna ladicího programu.

Úprava hodnot proměnných v okně Automatické hodnoty nebo Místní hodnoty

Pokud chcete upravit hodnoty většiny proměnných v oknech Automatické hodnoty nebo Místní hodnoty, poklikejte na hodnotu a zadejte novou hodnotu.

Můžete zadat výraz pro hodnotu, například a + b. Ladicí program přijímá většinu platných výrazů jazyka.

V nativním kódu C++ možná budete muset kvalifikovat kontext názvu proměnné. Další informace naleznete v tématu Kontextový operátor (C++).

Upozornění

Než změníte hodnoty a výrazy, ujistěte se, že rozumíte důsledkům. Mezi možné problémy patří:

  • Hodnocení některých výrazů může změnit hodnotu proměnné nebo jinak ovlivnit stav programu. Například vyhodnocením var1 = ++var2 se změní hodnota obojího var1 a var2. Tyto výrazy mají vedlejší účinky. Vedlejší účinky mohou způsobit neočekávané výsledky, pokud o nich nevíte.

  • Úpravy hodnot s plovoucí desetinnou čárkou mohou díky převodu komponenty zlomku z desítkové do binární soustavy způsobit drobné nepřesnosti. I zdánlivě neškodné úpravy můžou vést ke změnám některých bitů v proměnné s plovoucí desetinou čárkou.

Hledání v okně Automatické hodnoty nebo Místní hodnoty

Klíčová slova můžete hledat ve sloupcích Název, Hodnota a Typ okna Automatické hodnoty nebo Místní hodnoty pomocí vyhledávacího panelu nad každým oknem. Stiskněte ENTER nebo vyberte jednu ze šipek a spusťte hledání. Pokud chcete probíhající hledání zrušit, vyberte na panelu hledání ikonu x.

K procházení nalezených shod použijte šipky vlevo a vpravo (Shift+F3 a F3).

Snímek obrazovky s oknem Hledat v místním prostředí

Snímek obrazovky s oknem Hledat v místním prostředí

Pokud chcete, aby bylo hledání důkladnější, použijte rozevírací seznam Prohledat hlouběji v horní části okna Automatické hodnoty nebo Místní hodnoty a vyberte, kolik úrovní chcete prohledávat do vnořených objektů.

Připnutí vlastností v okně Automatické hodnoty nebo Místní hodnoty

Poznámka:

Tato funkce je podporovaná pro .NET Core 3.0 nebo vyšší.

Objekty můžete rychle zkontrolovat podle jejich vlastností v oknech Automatické a místní hodnoty pomocí nástroje Připnutelné vlastnosti . Pokud chcete tento nástroj použít, najeďte myší na vlastnost a vyberte ikonu připínáčku, která se zobrazí, nebo klikněte pravým tlačítkem myši a ve výsledné místní nabídce vyberte možnost Připnout člena jako Oblíbené . Tato bublina tuto vlastnost zobrazí na začátek seznamu vlastností objektu a název a hodnota vlastnosti se zobrazí ve sloupci Hodnota . Pokud chcete vlastnost odepnout, vyberte znovu ikonu připnutí nebo v místní nabídce vyberte možnost Odepnout člena jako oblíbený .

Snímek obrazovky s vlastnostmi připnutí v okně Místní hodnoty

Při prohlížení seznamu vlastností v oknech Automatické nebo Místní hodnoty můžete také přepínat názvy vlastností a vyfiltrovat nepřipnuté vlastnosti. K jednotlivým možnostem se dostanete tak, že vyberete tlačítka na panelu nástrojů nad okny Automatické hodnoty nebo Místní hodnoty.

Snímek obrazovky s oblíbenými vlastnostmi filtru

Snímek obrazovky s názvy přepínacích vlastností

Změna kontextu okna Automatické hodnoty nebo Místní hodnoty

Pomocí panelu nástrojů Umístění ladění můžete vybrat požadovanou funkci, vlákno nebo proces, který změní kontext pro okna Automatické a místní hodnoty.

Chcete-li povolit panel nástrojů Umístění ladění, klikněte do prázdné části oblasti panelu nástrojů a v rozevíracím seznamu vyberte Umístění ladění nebo vyberte Zobrazit>panely nástrojů>Ladicí umístění.

Nastavte zarážku a spusťte ladění. Po dosažení zarážky se spuštění pozastaví a zobrazí se umístění na panelu nástrojů Umístění ladění.

Snímek obrazovky s panelem nástrojů Umístění ladění

Snímek obrazovky s panelem nástrojů Umístění ladění

Proměnné v okně Automatické položky (C#, C++, Visual Basic, Python)

Různé jazyky kódu zobrazují v okně Automatické proměnné různé proměnné.

  • V jazyce C# a Visual Basic se v okně Automatické položky zobrazí libovolná proměnná použitá na aktuálním nebo předchozím řádku. Například v kódu jazyka C# nebo Visual Basic deklarujte následující čtyři proměnné:

         public static void Main()
         {
            int a, b, c, d;
            a = 1;
            b = 2;
            c = 3;
            d = 4;
         }
    

    Nastavte zarážku na řádku c = 3;a spusťte ladicí program. Když se provádění pozastaví, zobrazí se okno Automatické položky :

    Snímek obrazovky okna Automatické položky s hodnotou c nastavenou na 0

    Snímek obrazovky okna Automatické položky s hodnotou c nastavenou na 0

    Hodnota c je 0, protože řádek c = 3 ještě nebyl proveden.

  • V jazyce C++ se v okně Automatické položky zobrazí proměnné použité alespoň ve třech řádcích před aktuálním řádkem, kde je provádění pozastaveno. Například v kódu C++ deklarujte šest proměnných:

         void main() {
             int a, b, c, d, e, f;
             a = 1;
             b = 2;
             c = 3;
             d = 4;
             e = 5;
             f = 6;
         }
    

    Nastavte zarážku na řádku e = 5; a spusťte ladicí program. Když se provádění zastaví, zobrazí se okno Automatické položky :

    Snímek obrazovky okna Automatické položky se zvýrazněnou čárou, která zobrazuje int c s hodnotou 3

    Snímek obrazovky okna Automatické položky se zvýrazněnou čárou, která zobrazuje int c s hodnotou 3

    Proměnná e není inicializována, protože řádek e = 5 ještě nebyl proveden.

Zobrazení návratových hodnot volání metody

V kódu .NET a C++ můžete při procházení nebo z volání metody zkoumat návratové hodnoty v okně Automatické hodnoty. Zobrazení návratových hodnot volání metody může být užitečné, pokud nejsou uloženy v místních proměnných. Metodu lze použít jako parametr nebo jako návratovou hodnotu jiné metody.

Například následující kód jazyka C# přidá návratové hodnoty dvou funkcí:

static void Main(string[] args)
{
    int a, b, c, d;
    a = 1;
    b = 2;
    c = 3;
    d = 4;
    int x = sumVars(a, b) + subtractVars(c, d);
}

private static int sumVars(int i, int j)
{
    return i + j;
}

private static int subtractVars(int i, int j)
{
    return j - i;
}

Chcete-li zobrazit vrácené hodnoty sumVars() volání metody v subtractVars() okně Automatické položky:

  1. Nastavte zarážku na int x = sumVars(a, b) + subtractVars(c, d); řádku.

  2. Spusťte ladění a když se provádění pozastaví na zarážce, vyberte Krok přes nebo stiskněte klávesu F10. V okně Automatické hodnoty by se měly zobrazit následující návratové hodnoty:

    Snímek obrazovky s návratovou hodnotou automatického výrazu C#

    Snímek obrazovky s návratovou hodnotou automatického výrazu C#