zoukankan      html  css  js  c++  java
  • windbg----as、$u0(固定别名、自定义别名)

    固定别名($u0~$u9)

      有10个固定别名。他们是$u0, $u1, ..., $u9。他们的等价字符串可以是不包含ENTER键的任意字符串。使用r (Registers)命令为固定别明指定等价字符串。定义固定别名时,必须在字母"u"之前插入点号(.)。等号(=)之后的文本是等价字符串。等价字符串可以包含空格或分号,但是头部和尾部的空格被忽略掉。不能用引号将等价字符串括起来(除非希望替代结果中包含引号)。

      注意 r (Registers)命令设置固定别名容易混淆。这些别名不是寄存器或伪寄存器,即使使用了r命令来设置了他们的等价字符串。这些别名前不需要添加at符号(@),也不能使用r命令来显示这些别明的值。默认情况下,如果没有定义固定别名,他们是空字符串。

    0:000> r $.u0 = test1!wmain  
    0:000> .echo $u0  
    test1!wmain  
    0:000> u $u0 L2  
    test1!wmain [d:windbg	est1	est1.cpp @ 16]:  
    01071a40 55              push    ebp  
    01071a41 8bec            mov     ebp,esp  
    
    注意是$.u0

    自定义别名

    as 和aS 命令定义一个新的别名或重新定义已存在的别名

    语法:

    as Name EquivalentLine   
    aS Name EquivalentPhrase   
    aS Name "EquivalentPhrase"   
    as /e Name EnvironmentVariable   
    as /ma Name Address   
    as /mu Name Address   
    as /msa Name Address   
    as /msu Name Address   
    as /x Name Expression   
    aS /f Name File   
    as /c Name CommandString   

    /e 设置别名的值为EnvironmentVariable 指定的环境变量。

    /ma将别名的等价值设置为从地址Address 开始的null结尾的ASCII字符串。

    /mu将别名的等价值设置为从地址Address 开始的null结尾的Unicode字符串。

    /msa将别名的等价值设置为从地址Address 开始的null结尾的ANSI_STRING结构。

    /msu将别名的等价值设置为从地址Address 开始的null结尾的UNICODE_STRING结构。Address指定用来决定别名的等价值的虚拟内存位置。 
    /f设置别名的等价值为File 文件的内容。

    /f 开关只能和aS一起使用,不能和as一起。File指定内容作为别名等价值的文件。File可以包含空格,但是不能将 File用引号括起来。如果指定了非法的文件,会得到一个"Out of memory"的错误信息。

    如果用户别名是和命令的其他部分是连续的,就必须使用${用户别名}将用户别名包围起来,或者使用空格把别名和其他部分分隔开来:

    0:000> as ENTRY $exentry  
    0:000> al  
      Alias            Value    
     -------          -------   
     ENTRY            $exentry   
    0:000> dd ENTRY L2  
    00e2af95  358f36e9 63e1e900  
    0:000> dd ENTRY+2 L2  
    Couldn't resolve error at 'ENTRY+2 '  
    0:000> dd ENTRY +2 L2  
    00e2af97  e900358f 002c63e1  
    0:000> dd ${ENTRY}+2 L2  
    00e2af97  e900358f 002c63e1  

    但因为固定别名的长度是确定的,所以可以直接用$u0,而不需要大括号:

    0:000> r $.u0=$exentry  
    0:000> dd $u0+2  
    00e2af97  e900358f 002c63e1  

    使用al可以列出所有用户命令别名,使用ad可删除指定或全部(ad*)用户别名:

    0:000> al  
      Alias            Value    
     -------          -------   
     ENTRY            $exentry   
    windbg> .hh ad  
    0:000> ad ENTRY              
    0:000> al  
    No aliases  

     

  • 相关阅读:
    MongoDB创建索引
    mongodb基本指令与高级查询指令以及聚合命令
    数据挖掘流程
    Python魔法方法__getattr__、__setattr__、__getattribute__的介绍
    Python中property描述器的使用
    Python类的构造方法及继承问题
    Python3将字节类型的Unicode码转换为文字
    自定义Django Admin后台管理界面的名称
    Django Admin在search_fields包含外键字段
    Python 3与Python 2中模块导入操作的区别
  • 原文地址:https://www.cnblogs.com/renyuan/p/6211421.html
Copyright © 2011-2022 走看看