find 和 findp 子命令

find 和 findp 子命令

find 和 findp 子命令在内存中搜索特定模式。

格式find [-s string]

find effectiveaddress 模式 [mask | delta]

findp [-sstring]

findpphysicaladdress pattern [mask | delta]

参数

描述

-s

指示要搜索的模式是一个 ASCII 字符串。

EffectiveAddress

指定有效或虚拟地址。 可以使用符号,十六进制值或十六进制表达式来指定地址。

PhysicalAddress

指定物理地址或实际地址。 可以使用符号,十六进制值或十六进制表达式来指定地址。

STRING

指定指定 -s 选项时要搜索的 ASCII 字符串。 句点 (.) 用于与任何字符相匹配。

模式

指定要搜索的该模式的十六进制值。 该模式的长度限制为一个单词。

MASK

如果指定了模式,那么可以指定掩码以消除为匹配目的而考虑的位。 此参数是一个单字十六进制值。

三角洲

指定在不成功匹配后前进的增量。 此参数是一个单字十六进制值。

搜索的模式可以是 ASCII 字符串 (如果使用了 -s 选项) 或一个字十六进制值。 如果搜索的是 ASCII 字符串,那么可以使用句点 (.) 与任何字符匹配。

如果搜索的是十六进制值,那么可使用掩码参数。 此掩码用于从考虑中除去位。 在检查匹配项时,内存中的值将以掩码结束,然后与指定模式进行比较以进行匹配。 例如,掩码 7fffffff 指示不考虑高位。 如果指定的模式为 0000000d ,而掩码为 7fffffff,那么值 0000000d 和 8000000d 都被视为匹配。

还可以指定一个参数以指示应用于确定下一个地址以检查匹配项的增量。 这将确保匹配模式发生在特定边界上。 例如,如果要查找在 64 字节边界上对齐的 0f0000ff 模式,那么可以使用以下子命令:

find 0f0000ff ffffffff 40

缺省增量为一个字节 (用于匹配字符串) 和一个字 (用于匹配指定的十六进制模式)。

如果 find 或 findp 子命令找到指定的模式,那么将显示数据和地址。 通过按 Enter 键从该点开始继续搜索。

其他无别名。

示例以下是如何使用 find 和 findp 子命令的示例:

KDB(0)> tpid //print current thread

SLOT NAME STATE TID PRI CPUID CPU FLAGS WCHAN

thread+002F40 63*nfsd RUN 03F8F 03C 000 00000000

KDB(0)> find lock_pinned 03F8F 00ffffff 20 //search TID in the lock area

//compare only 24 low bits, on cache aligned addresses (delta 0x20)

lock_pinned+00D760: 00003F8F 00000000 00000005 00000000

KDB(0)> //repeat last command

Invalid address E800F000, skip to (^C to interrupt)

............... E8800000

Invalid address E8840000, skip to (^C to interrupt)

............... E9000000

Invalid address E9012000, skip to (^C to interrupt)

............... F0000000

KDB(0)> findp 0 E819D200 //search in physical memory

00F97C7C: E819D200 00000000 00000000 00000000

KDB(0)> //repeat last command

05C4FB18: E819D200 00000000 00000000 00000000

KDB(0)> //repeat last command

0F7550F0: E819D200 00000000 E60009C0 00000000

KDB(0)> //repeat last command

0F927EE8: E819D200 00000000 05E62D28 00000000

KDB(0)> //repeat last command

0FAE16E8: E819D200 00000000 05D3B528 00000000

KDB(0)> //repeat last command

kdb_get_real_memory: Out of range address 1FFFFFFF

KDB(0)>

KDB(0)>find -s 01A86260 pse //search "pse" in pse text code

01A86ED4: 7073 655F 6B64 6200 8062 0518 8063 0000 pse_kdb..b...c..

KDB(0)> //repeat last command

01A92952: 7073 6562 7566 6361 6C6C 735F 696E 6974 psebufcalls_init

KDB(0)> //repeat last command

01A939AE: 7073 655F 6275 6663 616C 6C00 0000 BF81 pse_bufcall.....

KDB(0)> //repeat last command

01A94F5A: 7073 655F 7265 766F 6B65 BEA1 FFD4 7D80 pse_revoke....}.

KDB(0)> //repeat last command

01A9547E: 7073 655F 7365 6C65 6374 BE41 FFC8 7D80 pse_select.A..}.

KDB(0)> find -s 01A86260 pse_....._thread //how to use '.'

01A9F586: 7073 655F 626C 6F63 6B5F 7468 7265 6164 pse_block_thread

KDB(0)> //repeat last command

01A9F6EA: 7073 655F 736C 6565 705F 7468 7265 6164 pse_sleep_thread

相关推荐

汽车之家
365bet官方贴吧

汽车之家

📅 07-15 👁️ 291
oppo手机gps定位怎么打开
365bet体育在线网投

oppo手机gps定位怎么打开

📅 07-20 👁️ 7970
世界杯女主播阵容*排名〖意大利世界杯女主播叫什么名〗