Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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:
{,[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
SomeFunctionfunctie vanEXAMPLE.dll:{,,EXAMPLE.dll}SomeFunctionmodule! 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_Varexpressie 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:
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.
Functiebereik. De huidige functie.
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.
Globale symbolen in de huidige module.
Openbare symbolen in het huidige programma.