在Windbg中操作.foreach循环中的变量

在Windbg中操作.foreach循环中的变量,windbg,Windbg,我试图在Windbg脚本中枚举对象列表,并对其执行操作 所以我得到目录对象,然后对该目录中的每个对象进行foreach .foreach /pS 19 /ps 1 (Address {!object @$t7}) {!object Address} 问题是“地址”并不总是地址令牌。我需要跳过非数字标记。如果不跳过一些有效地址并弄乱令牌,我就无法使用/ps来实现这一点 我试着做一些类似的事情 .if($spat(地址“-”)!=1. { } 但这并不奏效 在将变量“Address”实际传递给O

我试图在Windbg脚本中枚举对象列表,并对其执行操作

所以我得到目录对象,然后对该目录中的每个对象进行foreach

.foreach /pS 19 /ps 1 (Address {!object @$t7}) {!object Address}
问题是“地址”并不总是地址令牌。我需要跳过非数字标记。如果不跳过一些有效地址并弄乱令牌,我就无法使用/ps来实现这一点

我试着做一些类似的事情 .if($spat(地址“-”)!=1. { }

但这并不奏效

在将变量“Address”实际传递给OutCommand之前,我是否可以对其执行操作


谢谢

我尝试了类似
.if($spat(Address,“-”)!=1{}

这应该行得通,但语法有点不正确。您将需要以下内容:

.if ( $spat( "Address","[0-f][0-f][0-f][0-f][0-f][0-f][0-f][0-f]" ) )
{
    some code;
};

这将匹配地址。有关匹配的详细信息,请参阅windbg帮助中的字符串通配符语法页。

尝试将python与windbg()一起使用 这是使用windows对象管理器的示例: 很简单