Partilhar via


Operador de contexto (expressões de languagem C/C++)

Este tópico se aplica a:

Edição

Visual Basic

C#

C++

Desenvolvedores Web

Express

Somente nativo

Padrão

Somente nativo

PRO e equipe

Somente nativo

Legenda de tabela:

Aplica-se

Não é aplicada

Comando ou comandos oculta por padrão.

O operador de contexto é um operador adicional fornecido pelo depurador nativo.Quando estiver depurando código nativo, você pode usar o operador de contexto para qualificar um local de ponto de interrupção, nome de variável, ou expressão:

  • {[função],fonte],módulo} location

  • {[função],fonte],módulo} variable_name

  • {[função],fonte],módulo} expressão

As chaves podem conter qualquer combinação de nome de função, caminho do arquivo origem, e caminho de módulo (executável ou DLL).O operador de contexto é útil para fins como especificar um nome de um escopo externo que está oculto por um nome local.

Exemplo

Para definir um ponto de interrupção na linha 301 de EXAMPLE.CPP:

{,EXAMPLE.CPP,}@301

Se você omitir um function ou module, as duas vírgulas não podem ser omitidas.Por esse motivo, a sintaxe a seguir é inválida:

{File.c, File.exe} @143 // Invalid syntax

Se você omitir ambos source e module, entretanto, você pode omitir as vírgulas.A sintaxe a seguir é válida:

{Fun} @143

Se o caminho source ou module inclui uma vírgula, um espaço incorporado, ou uma chave, você deve usar entre aspas o caminho de forma que o analisador de contexto possa reconhecer corretamente a sequência.Aspas simples são considerados parte de um nome de arquivo do Windows, portanto você deve usar aspas duplas.Por exemplo,

{,"a long, long, name.c", } .143

Quando o avaliador da expressão encontrar um símbolo em uma expressão, ele procura o símbolo na seguinte ordem:

  1. Escopo léxico para fora, começando com o bloco atual, série de instruções delimitadas por chaves, e continuando para fora com o bloco de inclusão.O bloco atual é o código que contém o local atual, endereço do ponteiro de instrução.

  2. Escopo de função.A função atual.

  3. Escopo de classe, se o local atual estiver dentro uma função de membro C++.Escopo de classe inclui todas as classes base.O avaliador da expressão usa as regras de dominação normais.

  4. Módulo atual.

  5. Símbolos globais.

  6. Outros módulos.

  7. Símbolos públicos no programa.

Com o operador de contexto, você especifica o ponto inicial da pesquisa e ignora o local atual.Não é possível especificar uma classe, mas você pode especificar um função de membro da classe e permitir que o avaliador da expressão pesquise para fora.

Consulte também

Outros recursos

Expressões em C++ Nativo