windbg----as、$u0(固定别名、自定义别名)
固定别名($u0~$u9)
有10个固定别名。他们是$u0, $u1, ..., $u9。他们的等价字符串可以是不包含ENTER键的任意字符串。使用r (Registers)命令为固定别明指定等价字符串。定义固定别名时,必须在字母"u"之前插入点号(.)。等号(=)之后的文本是等价字符串。等价字符串可以包含空格或分号,但是头部和尾部的空格被忽略掉。不能用引号将等价字符串括起来(除非希望替代结果中包含引号)。
注意 r (Registers)命令设置固定别名容易混淆。这些别名不是寄存器或伪寄存器,即使使用了r命令来设置了他们的等价字符串。这些别名前不需要添加at符号(@),也不能使用r命令来显示这些别明的值。默认情况下,如果没有定义固定别名,他们是空字符串。
:> r $.u0 = test1!wmain
:> .echo $u0
test1!wmain
:> u $u0 L2
test1!wmain [d:\windbg\test1\test1.cpp @ ]:
01071a40 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"的错误信息。
如果用户别名是和命令的其他部分是连续的,就必须使用${用户别名}将用户别名包围起来,或者使用空格把别名和其他部分分隔开来:
:> as ENTRY $exentry
:> al
Alias Value
------- -------
ENTRY $exentry
:> dd ENTRY L2
00e2af95 358f36e9 63e1e900
:> dd ENTRY+ L2
Couldn't resolve error at 'ENTRY+ '
:> dd ENTRY + L2
00e2af97 e900358f 002c63e1
:> dd ${ENTRY}+ L2
00e2af97 e900358f 002c63e1
但因为固定别名的长度是确定的,所以可以直接用$u0,而不需要大括号:
:> r $.u0=$exentry
:> dd $u0+
00e2af97 e900358f 002c63e1
使用al可以列出所有用户命令别名,使用ad可删除指定或全部(ad*)用户别名:
:> al
Alias Value
------- -------
ENTRY $exentry
windbg> .hh ad
:> ad ENTRY
:> al
No aliases
windbg----as、$u0(固定别名、自定义别名)的更多相关文章
- SqlMapConfig配置文件中的typeAliases标签用于自定义别名
1.mybatis支持别名: 别名 映射的类型 _byte byte _long long _short short _int int _integer int _double double _flo ...
- mysql中别名(列别名和表别名)
1.介绍 使用MySQL别名来提高查询的可读性.MySQL支持两种别名,称为列别名和表别名. 有时,列的名称是一些表达式,使查询的输出很难理解.要给列一个描述性名称,可以使用列别名.用法: SELEC ...
- Linux自定义别名alias重启失效问题
Linux上的别名功能非常方便,例如ll可以显示文件列表的长信息,但是却不是以human能读懂的方式显示,所以我尝试直接在命令行中自定义一个别名: alisa lk='ls -lh' 然后lk就能正常 ...
- MyBatis配置文件(三)--typeAliases别名
因为类的全限定名一般包括包名,显得很长,在使用过程中不是很方便,所以MyBatis中允许我们使用一种简写的方式来代替全限定名,这就是别名.这就相当于我们在玩微信的时候,有些人的昵称很长很难记,怎么办? ...
- Windbg命令脚本
命令脚本,就是将完成某个特定任务的相关命令组合在一起,保存在脚本文件里,加载到Windbg里执行,达到我们的目的.你可以理解为脚本就是一种语言,就像c或者汇编,但是他不需要编译器将其编译为可执行文件, ...
- MyBatis框架流程
Hibernate与Mybatis的本质区别和应用场景 Hibernate:标准的ORM框架,不需要写SQL语句,但是优化和修改SQL语句比较难. 应用于需求变化固定的中小型的项目,例如后台管理系统. ...
- MyBatis_01 框架
Mybatis概述 Mybatis是什么 Mybatis是一个持久层框架. Mybatis的作用 Mybatis是一个持久层框架,当然作用就是操作数据库的(增删改查). 为什么需要学习Myba ...
- Mybatis笔记总结
第一.Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改 ...
- vue-cli中自定义路径别名 assets和static文件夹的区别
转自:vue-cli中自定义路径别名 assets和static文件夹的区别 静态资源处理: assets和static文件夹的区别 相信有很多人知道vue-cli有两个放置静态资源的地方,分别是sr ...
随机推荐
- 【洛谷 P1352】没有上司的舞会
树形dp #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ; ...
- MySQL 半同步复制
在主库初次启动时,执行如下语句加载semisync_master插件: mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_m ...
- VM - Bridge Adapter
如何让外部可以连到本地的虚拟机. 1. 网络模式 - Bridged Adapter 2. 确保本机插上网线 3. 如果虚拟机是 Windows 8.1, 需要开启如下选项.
- Windows升级(安装)MySQL 5.7.x 解压版 + 异常处理
说明 版本升级(个人原因): 因为5.5的版本不能执行如下sql语句,故卸装5.5升级安装mysql-5.7.15: `timeName` timestamp(3) NULL DEFAULT NULL ...
- Maven + 最新SSM整合
. 1. 开发环境搭建 参考博文:Eclipse4.6(Neon) + Tomcat8 + MAVEN3.3.9 + SVN项目完整环境搭建 2. Maven Web项目创建 2.1. 2.2. 2. ...
- 5.1 Intent
Intent是不同组件之间相互通讯的纽带,封装了不同组件之间通讯的条件.Intent用于启动Activity, Service, 以及BroadcastReceiver三种组件, 同时还是组件之间通信 ...
- Oracle必须死之奇怪的ORA-06502错误
作为熟练.Net码农以及非熟练Oracle用户很多时候Oracle总给我一种这货就是存心恶心我们的感觉. 虽然不得不承认Oracle是个很(an)好(gui)的产品,但是总有那么好几下被恶心到了.比如 ...
- mysql 5.6并行复制事件分发机制
并行复制相关线程 在MySQL 5.6并行复制中,当设置set global slave_parallel_workers=2时,共有4个复制相关的线程,如下: +----+------------- ...
- 网站实时协作JavaScript库 TogetherJS
TogetherJS是由Mozilla打造的一款可以给网站添加实时协作功能的JavaScript库,TogetherJS免费并且开源,遵循MPL 2.0开源协议,并且托管在Mozilla服务器上. 为 ...
- apt-get程序和系统管理
检查更新:apt-get update 系统升级:apt-get upgrade 移除软件:apt-get remove xxx 自动移除旧的软件包:apt-get autoremove 完全移除软件 ...