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. {,[module] } výraz

    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. Můžete použít úplnou cestu k rozlišení mezi moduly se stejným názvem.

    Pokud cesta modulu obsahuje čárku, mezeru nebo složenou závorku, musíte cestu uzavřít do uvozovek, aby ji analyzátor kontextu mohl 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 postupující směrem ven, začínající aktuálním blokem, který je řadou příkazů uzavřených ve složených závorkách, a pokračující směrem ven do nadřazeného bloku. 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++. Rozsah třídy zahrnuje všechny základní třídy. Vyhodnocovač výrazů používá standardní pravidla dominance.

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

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