3.windbg script----DML简介

简介

DMLHTML那样允许在一定格式的标记中包含指令和不显示的信息。调试器的用户界面将能分析额外的信息并提供新的特性。

DML的两个主要功能:

1.链接信息,link标记能链接到其他部分

2.外观显示,封装命令到预装的外观中,如说明文本

内容说明

DML 对特殊字符的处理规则近似于XML/HTML&, <, >都是特殊字符,不能直接在纯文本中使用。对应的转义字符为&amp;, &lt;, &gt;&quot;

例如下面的一句话:

“Alice & Bob think 3 < 4”
转换为DML

"Alice & Bob think 3 < 4"
有一个与XML/HTML不同的重要规则,DML文本可以包含不同风格的格式化字符,例如\b, \t, \r和\n。这是为了兼容已存在的调试文本

DML标记参考

<link [name=”text”] [cmd=”debugger_command”] [section=”name”]>link text</link>

DML中,该link标记基于超级链接结构。当链接被点击时,它将指示用户界面显示被链接的文本。当一个带cmd说明符的link被点击时,调试器将会运行该命令并替换当前输出

1.显示的是link text

2.只有带cmd=时,link text才会成为超链接,被点击

3.Namesection参数允许在已命名的link之间导航,这与HTML中的<aname>#name相似。当带有section参数的link被点击,用户界面将会搜索名字与之匹配的link,并滚动到相应位置。这将允许link指向同一页面的不同区域(或者在新页面中特殊的区域)。DML的section名必须是独立的,以避免重新定义新的语法来允许section名跟在字符串的后面。

<b>text</b>, <i>text</i>, <u>text</u>
这些标记将分别把文本转换成粗体,斜体和下划线。它们能嵌套在其他标记中

如最简单的:

.printf /D  "<link cmd=\"? (@eip&@ebx) < 72510001\"><b>text</b></link>"

显示为:

0:000> $$>< c:\3.txt
<u>text</u>0:000> ? (@eip&@ebx) < 72510001
Evaluate expression: 1 = 00000001
<col fg="name" bg="name">text</col>
设置文本的前景和背景颜色。使用颜色名字而不是颜色的绝对值,以允许用户控制他们将会看到的颜色。当前颜色名字(只应用于windbg)
wbg和wfg – 窗口默认的背景和前景颜色。默认为窗口和窗口文本的系统颜色。
clbg和clfg – 当前线段的背景和前景颜色。默认为系统的突显和突显文本
changed – 使用前一个断点以来,被修改的数据,例如windbg中的寄存器被改变,默认为红色。
srcnum, srcchar, srcstr, srcid, srckw, srcpair, srccmnt, srcdrct, srcspid, srcannot – 源颜色元素。你能在windbg中看到默认值
empbg和emphfg – 强调文本。默认为亮蓝。
subbg和subfg – 减弱文本。默认为未激活的标题文本或已激活的标题
normbg, normfg, warnbg, warnfg, errbg, errfg, verbbg, verbfg – 输出等级颜色。你能在windbg中看到默认值

示例:

.printf /D  "<link cmd=\"? (@eip&@ebx) < 72510001\"><b><col fg=\"changed\" bg=\"emphfg\">hgy413 dml</col></b></link>\n"

















  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值