我正在搜索一个字符串,说旧的“此程序无法运行”。
切换上下文到例如记事本,非侵入性,页面翻译
1: kd> !process 0 0 notepad.exe
PROCESS ffff9d05d0005080
SessionId: 2 Cid: 0368 Peb: 5c8ae78000 ParentCid: 0890
DirBase: 30305002 ObjectTable: ffffb48e166c1440 HandleCount: 232.
Image: notepad.exe
1: kd> .process /r /p ffff9d05d0005080
并扫描字符串返回预期结果
1: kd> s -[l16]sa 7ff6e1760000 L100
00007ff6`e176004e "This program cannot be run in DO"
00007ff6`e176006e "S mode.
然而,模式搜索一无所获
1: kd> s -a 7ff6e176004e L100 "This program"
理智:
00007ff6`e176004e 54 68 69 73 20 70 72 6f-67 72 61 6d 20 63 61 6e This program can
00007ff6`e176005e 6e 6f 74 20 62 65 20 72-75 6e 20 69 6e 20 44 4f not be run in DO
00007ff6`e176006e 53 20 6d 6f 64 65 2e 0d-0d 0a 24 00 00 00 00 00 S mode....$.....
现在,如果我切换上下文,但这次使用侵入性标志
1: kd> .process /i /r /p ffff9d05d0005080
1: kd> g
瞧
1: kd> s -a 7ff6e176004e L100 "This program"
00007ff6`e176004e 54 68 69 73 20 70 72 6f-67 72 61 6d 20 63 61 6e This program can
既然很明显 WinDbg 可以自己搜索和找到字符串,为什么在模式搜索期间需要侵入性的出现?
谢谢