• Visual C++ 调试器伪变量


    Visual C++ 调试器有一个强大的特性:伪变量。充分利用这个特性可以提高生产效率。

    所谓的伪变量,其实就是由调试器支持并产生的调试数据,以变量的形式表现出来,我们可以在监视窗口中查看这些伪变量。

    以下是Visual C++ 2005调试器所支持的伪变量(引用自MSDN,并且我补充了一个):

    伪变量 功能
    $err GetLastError()的返回值
    $handles 显示应用程序中分配的句柄数。
    $vframe 显示当前堆栈帧的地址。

    $TID

    显示当前线程的线程 ID。
    $ENV

    显示环境块的大小。

    如果尝试在“值”列中编辑环境块的大小,则在您按下 Return 后就会在“输出”窗口中显示该环境块的内容。而不会更改环境块的大小。

    $CMDLINE

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

    如果尝试在“值”列中编辑该大小,则在按下“返回”后会在“输出”窗口中显示该命令行字符串,而不会更改命令行字符串的大小。

    $ registername

    或者

    @ registername

    显示寄存器 registername 的内容。

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

    $clk 以时钟形式显示时间。
    $user

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

    其中,$err有一种更常见的用法$err,hr。

    所谓hr,当然不是HumanResource(笑),它其实就是HResult。这是一个最最常用的伪变量,免去了我们手工在代码里插入GetLastError的痛苦(当然,不能因此就省略了代码中的错误处理和logging)。

    至于显示CPU寄存器这个功能,更多的我们还是直接用register窗口,只有必要的时候,比如看sse等等或者为了突出显示才会用到,反正我几乎不用的,我更喜欢IDA Pro。

    废话这么多,看一个例子就会用了:

    3

  • 相关阅读:
    Hadoop命令手册
    HDFS配额管理指南
    HDFS权限管理用户指南
    Hadoop分布式文件系统使用指南
    Hadoop分布式文件系统:架构和设计
    ImageLoader 图片加裁
    发送 一个无序广播
    Intent 转向
    Volley Get Post 方法
    Android 动态设置控件宽高度
  • 原文地址:https://www.cnblogs.com/skogkatt/p/4163275.html
Copyright © 2020-2023  润新知