Delen via


Contextoperator in het Visual Studio Debugger (C++)

U kunt de contextoperator in C++ gebruiken om een onderbrekingspuntlocatie, variabelenaam of expressie in aanmerking te nemen. De context-operator is handig voor het opgeven van een naam uit een omringende of externe scope die anders zou worden verborgen door een lokale naam.

Syntaxis

Er zijn twee manieren om context op te geven:

  1. {,[module] } uitdrukking

    De accolades moeten twee komma's, de modulenaam (uitvoerbaar bestand of DLL) of het volledige pad bevatten.

    Als u bijvoorbeeld een onderbrekingspunt wilt instellen op de SomeFunction functie van EXAMPLE.dll:

    {,,EXAMPLE.dll}SomeFunction
    
  2. module! uitdrukking

    EXAMPLE.dll!SomeFunction
    
  • module is de naam van een module. U kunt een volledig pad gebruiken om onderscheid te maken tussen modules met dezelfde naam.

    Als het modulepad een komma, een ingesloten spatie of accolade bevat, moet u aanhalingstekens rond het pad gebruiken, zodat de contextparser de tekenreeks correct kan herkennen. Enkele aanhalingstekens worden beschouwd als onderdeel van een Windows-bestandsnaam, dus u moet dubbele aanhalingstekens gebruiken. Bijvoorbeeld

    {,,"a long, long, library name.dll"} g_Var
    
  • expressie is een geldige C++-expressie die wordt omgezet in een geldig doel, zoals een functienaam, variabelenaam of aanwijzeradres in de module.

    Wanneer de expressie-evaluator een symbool in een expressie tegenkomt, zoekt deze in de volgende volgorde naar het symbool:

  1. Lexicaal bereik uitbreidend, beginnend met het huidige blok, een reeks instructies tussen accolades, en vervolgens verder met het omliggende blok. Het huidige blok is de code met de huidige locatie, het adres van de instructiepointer.

  2. Functiebereik. De huidige functie.

  3. Klassebereik, als de huidige locatie zich in een C++-lidfunctie bevindt. Het klassebereik bevat alle basisklassen. De expressie-evaluator maakt gebruik van de normale dominantieregels.

  4. Globale symbolen in de huidige module.

  5. Openbare symbolen in het huidige programma.