Compartilhar via


Operador de contexto no Depurador do Visual Studio (C++)

Você pode usar o operador de contexto em C++ para qualificar um local de ponto de interrupção, um nome de variável ou uma expressão. O operador de contexto é útil para especificar um nome de um escopo externo que, de outra forma, está oculto por um nome local.

Sintaxe

Há duas maneiras de especificar o contexto:

  1. {,,[módulo] } expressão

    As chaves devem conter duas vírgulas e o nome do módulo (executável ou DLL) ou o caminho completo.

    Por exemplo, para definir um ponto de interrupção na SomeFunction função de EXAMPLE.dll:

    {,,EXAMPLE.dll}SomeFunction
    
  2. módulo! expressão

    EXAMPLE.dll!SomeFunction
    
  • módulo é o nome de um módulo. Você pode usar um caminho completo para diferenciar entre módulos com o mesmo nome.

    Se o caminho do módulo incluir uma vírgula, um espaço inserido ou uma chave, você deverá usar aspas ao redor do caminho para que o analisador de contexto possa reconhecer corretamente a cadeia de caracteres. Aspas simples são consideradas parte de um nome de arquivo do Windows, portanto, você deve usar aspas duplas. Por exemplo

    {,,"a long, long, library name.dll"} g_Var
    
  • expressão é qualquer expressão C++ válida que resolve para um destino válido, como um nome de função, nome da variável ou endereço de ponteiro no módulo.

    Quando o avaliador de expressão encontra 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 entre chaves e continuando para fora com o bloco delimitador. O bloco atual é o código que contém o local atual, o endereço do ponteiro de instrução.

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

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

  4. Símbolos globais no módulo atual.

  5. Símbolos públicos no programa atual.