Megosztás a következőn keresztül:


Környezeti operátor a Visual Studio Hibakeresőben (C++)

A C++-ban a környezet operátorával minősítheti a töréspont helyét, a változó nevét vagy a kifejezést. A környezeti operátor hasznos lehet olyan külső hatókörből származó név megadásához, amelyet egyébként egy helyi név rejt el.

Szemantika

A környezet megadásának két módja van:

  1. {,,[modul] } kifejezés

    A kapcsos zárójelnek két vesszőt és a modul (végrehajtható vagy DLL) nevét vagy teljes elérési útját kell tartalmaznia.

    Ha például töréspontot szeretne beállítani a SomeFunction függvényében EXAMPLE.dll:

    {,,EXAMPLE.dll}SomeFunction
    
  2. modul! kifejezés

    EXAMPLE.dll!SomeFunction
    
  • A modul neve egy modul. Az azonos nevű modulok közötti egyértelműsítéshez használhat teljes elérési utat.

    Ha a modul elérési útja vesszőt, beágyazott szóközt vagy kapcsos zárójelet tartalmaz, idézőjeleket kell használnia az elérési út körül, hogy a környezetelemző megfelelően felismerhesse a sztringet. Az önálló idézőjelek a Windows-fájlnév részét képezik, ezért dupla idézőjeleket kell használnia. Például

    {,,"a long, long, library name.dll"} g_Var
    
  • kifejezés bármely érvényes C++ kifejezés, amely érvényes célként oldható fel, például függvénynév, változónév vagy mutatócím a modulban.

    Amikor a kifejezés kiértékelője egy kifejezésben szimbólummal találkozik, a következő sorrendben keresi a szimbólumot:

  1. Lexikális hatókör kifelé, kezdve az aktuális blokktal, a zárójelek közé zárt utasítások sorozatával, és kifelé haladva a befoglaló blokktal. Az aktuális blokk az aktuális helyet és az utasításmutató címét tartalmazó kód.

  2. Függvény hatóköre. Az aktuális függvény.

  3. Osztály hatóköre, ha az aktuális hely egy C++ tagfüggvényen belül van. Az osztály hatóköre az összes alaposztályt tartalmazza. A kifejezésértékelő a normál dominanciaszabályokat használja.

  4. Globális szimbólumok az aktuális modulban.

  5. Nyilvános szimbólumok az aktuális programban.