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  

 

原文地址:https://www.cnblogs.com/renyuan/p/6211421.html