伪变量

伪变量是用于在变量窗口或**“快速监视”**对话框中显示某些信息的术语。您可以像输入普通变量那样输入伪变量。但伪变量不是变量,它不与程序中的变量名相对应。

示例

假设您正在编写本机代码应用程序,并且希望看到此应用程序中分配的句柄数。那么您可以在**“监视”窗口的“名称”**列中输入以下伪变量,然后按下“返回”计算它:

$handles

在本机代码中,可使用的伪变量如下表所示:

伪变量

功能

$handles

显示应用程序中分配的句柄数。

$vframe

显示当前堆栈帧的地址。

$tid

显示当前线程的线程 ID。

$env

在字符串浏览器显示该环境块。

$cmdline

显示启动程序的命令行字符串。

$pid

显示进程ID.

$寄存器名

@寄存器名

显示寄存器 寄存器名 的内容。

通常,只需输入寄存器名便可以显示寄存器的内容。仅在寄存器名重载变量名时才需要使用此语法。如果寄存器名与当前范围内的某个变量名同名,则调试器将该名称解释为变量名。这时就需要使用 $寄存器名 或 @寄存器名。

$clk

以时钟形式显示时间。

$user

显示一个结构,在该结构中含有应用程序运行于的帐户的帐户信息。出于安全原因,不显示密码信息。

在 C# 和 Visual Basic 中,可以使用的伪变量如下表中所示:

伪变量

功能

$exception

显示最近一个异常的有关信息。如果没有发生异常,则计算 $exception 将显示错误信息。

仅在 Visual C# 中,当“异常助手”处于禁用状态时,如果发生异常,$exception 将被自动添加到“局部变量”窗口中。

$user

显示一个结构,在该结构中含有应用程序运行于的帐户的帐户信息。出于安全原因,不显示密码信息。

在 Visual Basic 中,可以使用如下表中所示的伪变量:

伪变量

功能

$delete 或 $$delete

删除在“即时”窗口中创建的隐式变量。语法是 $delete, 变量 或$delete, 变量.

$objectids 或 $listobjectids

将所有活动对象 ID 显示为指定的表达式的子级。语法是 $objectid, 表达式或$listobjectids, 表达式.

$N#

显示对象 ID 等于 N 的对象。

$dynamic

显示用于实现 IDynamicMetaObjectProvider 的对象的特殊“动态视图”节点。接口。语法为$dynamic, 对象。此功能仅应用于使用 .NET Framework 版本 4 的代码。请参见 动态视图

请参见

任务

如何:在调试器中监视表达式

其他资源

变量窗口