Sdílet prostřednictvím


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:

  1. 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 funkci EXAMPLE.dll:

    {,,EXAMPLE.dll}SomeFunction
    
  2. 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í:

  1. 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.

  2. Rozsah funkce. Aktuální funkce.

  3. 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.

  4. Globální symboly v aktuálním modulu

  5. Veřejné symboly v aktuálním programu