Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile usare l'operatore di contesto in C++ per qualificare una posizione del punto di interruzione, un nome di variabile o un'espressione. L'operatore di contesto è utile per specificare un nome da un ambito esterno altrimenti nascosto da un nome locale.
Sintassi
Esistono due modi per specificare il contesto:
{,,[module] } espressione
Le graffe devono contenere due virgole e il nome del modulo (eseguibile o DLL) o il percorso completo.
Ad esempio, per impostare un punto di interruzione nella
SomeFunctionfunzione diEXAMPLE.dll:{,,EXAMPLE.dll}SomeFunctionmodulo! espressione
EXAMPLE.dll!SomeFunction
module è il nome di un modulo. È possibile usare un percorso completo per evitare ambiguità tra i moduli con lo stesso nome.
Se il percorso del modulo include una virgola, uno spazio incorporato o una parentesi graffa, è necessario usare le virgolette intorno al percorso in modo che il parser di contesto riconosca correttamente la stringa. Le virgolette singole sono considerate parte di un nome file di Windows, pertanto è necessario usare virgolette doppie. Ad esempio:
{,,"a long, long, library name.dll"} g_Varexpression è qualsiasi espressione C++ valida che viene risolta in una destinazione valida, ad esempio un nome di funzione, un nome di variabile o un indirizzo puntatore nel modulo.
Quando l'analizzatore di espressioni rileva un simbolo in un'espressione, cerca il simbolo nell'ordine seguente:
Ambito lessicale verso l'esterno, a partire dal blocco corrente e dalla serie di istruzioni racchiuse tra parentesi graffe, e continuando verso l'esterno con il blocco circostante. Il blocco corrente è il codice che contiene la posizione corrente e l'indirizzo del puntatore d'istruzione.
Ambito della funzione. Funzione attuale.
Ambito della classe, se la posizione corrente si trova all'interno di una funzione membro C++. L'ambito della classe include tutte le classi di base. L'analizzatore di espressioni usa le normali regole di dominanza.
Simboli globali nel modulo corrente.
Simboli pubblici nel programma corrente.