Partilhar via


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

Você pode usar o operador de contexto em C++ para qualificar um local de ponto de interrupção, nome de variável ou expressão. O operador de contexto é útil para especificar um nome de um escopo externo que, de outra forma, seria 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 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
    
  • module é o nome de um módulo. Você pode usar um caminho completo para desambiguar entre módulos com o mesmo nome.

    Se o caminho do módulo incluir uma vírgula, um espaço incorporado ou uma chave, você deverá usar aspas ao redor do caminho para que o analisador de contexto possa reconhecer corretamente a cadeia de caracteres. As 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
    
  • expression é qualquer expressão C++ válida que resolve para um destino válido, como um nome de função, nome de variável ou endereço de ponteiro no módulo.

    Quando o avaliador de expressões encontra um símbolo numa expressão, procura o símbolo pela seguinte ordem:

  1. Percorre para fora o âmbito lexical, começando pelo bloco atual, uma série de declarações delimitadas por chaves, e continuando para fora com o bloco envolvente. O bloco atual é o código que contém o local atual, o endereço do ponteiro de instrução.

  2. Âmbito 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ões usa as regras normais de dominância.

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

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