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.
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 :
Č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íhovar1
avar2
. 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).
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ý .
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.
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í.
Získání pomoci s AI
Pokud máte Copilot, můžete získat pomoc s AI při prohlížení proměnných v oknech Automatické hodnoty nebo Místní hodnoty nebo v datových tipech. Klikněte pravým tlačítkem na proměnnou a použijte tlačítko Ask Copilot. V tomto scénáři už Copilot zná kontext vaší otázky, takže nemusíte v chatu zadávat kontext sami. Další informace naleznete v tématu Ladění pomocí Copilotu.
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 :Hodnota
c
je 0, protože řádekc = 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 :Proměnná
e
není inicializována, protože řádeke = 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.
Poznámka:
Počínaje sadou Visual Studio 2022 verze 17.12 Preview 3 můžete zobrazit také vložené hodnoty a ne jenom v okně Automatické.
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:
Nastavte zarážku na
int x = sumVars(a, b) + subtractVars(c, d);
řádku.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: