更新:2007 年 11 月
本主题适用于:
| 版本 | Visual Basic | C# | C++ | Web Developer | 
|---|---|---|---|---|
| 速成版 | .gif) | .gif) | 仅限本机 | .gif) | 
| 标准版 | .gif) | .gif) | 仅限本机 | .gif) | 
| 专业团队版 | .gif) | .gif) | 仅限本机 | .gif) | 
表格图例:
| .gif) | 适用 | 
| .gif) | 不适用 | 
| .gif) | 默认情况下隐藏的一条或多条命令。 | 
上下文运算符是由本机调试器提供的附加运算符。调试本机代码时,可使用上下文运算符限定断点位置、变量名称或表达式:
- {[函数],[源],[模块] } location 
- {[函数],[源],[模块] } variable_name 
- {[函数],[源],[模块] } 表达式 
大括号可以包含函数名、源文件路径和模块(可执行文件或 DLL)路径的任意组合。上下文运算符对于某些目的很有用,如指定来自外部范围的、但被本地名称隐藏的名称。
示例
在 EXAMPLE.CPP 的 301 行设置断点:
{,EXAMPLE.CPP,}@301
如果省略 函数 或 模块,则不能省略两个逗号。因此,下面的语法无效:
{File.c, File.exe} @143 // Invalid syntax
但是,如果将 源 和 模块 都省略掉,则可以省略逗号。下面的语法有效:
{Fun} @143
如果 源 或 模块 路径包括逗号、嵌入空格或大括号,则必须在路径两边使用引号,以便上下文分析器能够正确识别该字符串。单引号被视为 Windows 文件名的一部分,因此必须使用双引号。例如,
{,"a long, long, name.c", } .143
当表达式计算器遇到表达式中的符号时,它按下列顺序搜索该符号:
- 词法范围向外,从当前块开始(括在大括号中的一系列语句),然后从该封闭块继续向外。当前块是包含当前位置(指令指针地址)的代码。 
- 函数范围。当前函数。 
- 类范围,如果当前位置在 C++ 成员函数内。类范围包含所有的基类。表达式计算器使用正常域控制规则。 
- 当前模块。 
- 全局符号。 
- 其他模块。 
- 程序中的公共符号。 
使用上下文运算符,可以指定搜索的起始点并跳过当前位置。不能指定类,但是可以指定类的成员函数,并让表达式计算器向外搜索。