Kontextový operátor v ladicím programu sady Visual Studio (C++)
Pomocí kontextového operátoru v jazyce C++ můžete kvalifikovat umístění zarážky, název proměnné nebo výraz. Operátor kontextu je užitečný pro zadání názvu z vnějšího oboru, který je jinak skrytý místním názvem.
Syntaxe
Existují dva způsoby určení kontextu:
Výraz {,[module] }
Složené závorky musí obsahovat dvě čárky a název modulu (spustitelný soubor nebo knihovnu DLL) nebo úplnou cestu.
Pokud například chcete nastavit zarážku ve
SomeFunction
funkciEXAMPLE.dll
:{,,EXAMPLE.dll}SomeFunction
modul!Výraz
EXAMPLE.dll!SomeFunction
modul je název modulu. Úplnou cestu můžete použít k nejednoznačnosti mezi moduly se stejným názvem.
Pokud cesta modulu obsahuje čárku, vloženou mezeru nebo složenou závorku, musíte kolem cesty použít uvozovky, aby analyzátor kontextu mohl řetězec správně rozpoznat. Jednoduché uvozovky jsou považovány za součást názvu souboru Systému Windows, takže je nutné použít dvojité uvozovky. Příklad:
{,,"a long, long, library name.dll"} g_Var
Výraz je libovolný platný výraz jazyka C++, který se překládá na platný cíl, například název funkce, název proměnné nebo adresa ukazatele v modulu.
Když při vyhodnocování výrazu narazí na symbol ve výrazu, vyhledá symbol v následujícím pořadí:
Lexikální rozsah směrem ven, počínaje aktuálním blokem, řadou příkazů uzavřených ve složených závorkách a pokračování směrem ven s uzavřeným blokem. Aktuální blok je kód obsahující aktuální umístění, adresu ukazatele instrukce.
Rozsah funkce. Aktuální funkce.
Obor třídy, pokud je aktuální umístění uvnitř členské funkce jazyka C++. Obor třídy zahrnuje všechny základní třídy. Vyhodnocovače výrazů používá normální pravidla dominanty.
Globální symboly v aktuálním modulu
Veřejné symboly v aktuálním programu