Compartir a través de


Operador de contexto (Expresiones del lenguaje C/C++)

Actualización: noviembre 2007

Este tema hace referencia a:

Edición

Visual Basic

C#

C++

Web Developer

Express

Sólo para código nativo

Estándar

Sólo para código nativo

Pro y Team

Sólo para código nativo

Leyenda de la tabla:

Se aplica

No procede

Comando o comandos ocultos de manera predeterminada.

El operador de contexto es un operador adicional que proporciona el depurador nativo. Cuando se depura código nativo, se puede utilizar el operador de contexto para calificar una ubicación de punto de interrupción, un nombre de variable o una expresión:

  • {[{[función],[origen],[módulo] } location

  • {[{[función],[origen],[módulo] } variable_name

  • {[función],[origen],[módulo] } expresión

Las llaves pueden contener cualquier combinación de nombre de función, ruta de acceso al archivo de código fuente y ruta de acceso al módulo (archivo ejecutable o archivo DLL). El operador de contexto es útil, por ejemplo, para especificar un nombre desde un ámbito externo que se encuentra oculto por un nombre local.

Ejemplo

Para establecer un punto de interrupción en la línea 301 de EXAMPLE.CPP:

{,EXAMPLE.CPP,}@301

Si omite función o módulo, no podrá omitir las dos comas. Por lo tanto, la siguiente sintaxis no es válida:

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

No obstante, si omite tanto origen como módulo, puede omitir las comas. La siguiente sintaxis es válida:

{Fun} @143

Si la ruta de acceso de origen o módulo incluye una coma, un espacio incrustado o una llave, debe incluir el nombre de la ruta de acceso entre comillas a fin de que el analizador de contexto pueda reconocer correctamente la cadena. Las comillas simples se consideran parte de un nombre de archivo de Windows, por lo que deben utilizarse comillas dobles. Por ejemplo,

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

Cuando el evaluador de expresiones encuentra un símbolo en una expresión, busca el símbolo en el siguiente orden:

  1. Salida del ámbito léxico, comienza con el bloque actual, series de instrucciones entre llaves, y continúa con la salida del bloque de inclusión. El bloque actual es el código que contiene la ubicación actual, dirección del puntero de instrucciones.

  2. Ámbito de función. La función actual.

  3. Ámbito de clase, si la ubicación actual está dentro de una función miembro de C++. El ámbito de clase incluye todas las clases base. El evaluador de expresiones utiliza las reglas de dominación normales.

  4. Módulo actual.

  5. Símbolos globales.

  6. Otros módulos.

  7. Símbolos públicos en el programa.

Con el operador de contexto se especifica el punto inicial de la búsqueda y se omite la posición actual. No se puede especificar una clase, pero sí una función miembro de la clase y dejar que el evaluador de expresiones busque hacia afuera.

Vea también

Otros recursos

Expresiones en C++ nativo