2017-02-10 8 views
1

コマンドの出力をフィルタリングしようとしています。たとえば、出力がlmで長すぎます。windbgのフィルタ出力

lm | find "some_string"と似ています。

windbgはこれをサポートしていますか?私はそれについてオンラインで書類を見つけることができません。

+0

のWinDbgとJSの使用インサイダーSDKのバージョン。 – conio

答えて

3

私は通常、Windowsツール(findstrなど)またはcygwinでインストールされたバイナリで.shellコマンドを使用します。 .shell command help from MSDN

例:

Windbgのバージョン、これはあまりにも古いバージョンで動作するはずですが:

0:000> version 
[snip] 
Microsoft (R) Windows Debugger Version 10.0.14321.1024 X86 
Copyright (c) Microsoft Corporation. All rights reserved. 

開始メモ帳

0:000> | 
. 0 id: 31a0 create name: notepad.exe 

リストモジュール:

0:000> lm 
start end  module name 
00030000 0006e000 notepad (deferred)    
52270000 52280000 FeClient (deferred)    
6d360000 6d4af000 PROPSYS (deferred)    
6f650000 6f879000 iertutil (deferred)    
6f880000 6fa14000 urlmon  (deferred)    
73c40000 73c5b000 bcrypt  (deferred)    
73dc0000 73e2a000 WINSPOOL (deferred)    
73ee0000 740ea000 COMCTL32 (deferred)    
74130000 7413a000 CRYPTBASE (deferred)    
74140000 7415e000 SspiCli (deferred)    
746b0000 7472b000 msvcp_win (deferred)    
74730000 7488f000 USER32  (deferred)    
74890000 74970000 KERNEL32 (deferred)    
749d0000 74a58000 shcore  (deferred)    
[snip] 

使用のWindows findstr

0:000> .shell -ci "lm" grep.exe -i kern 
74890000 74970000 KERNEL32 (deferred)    
76ac0000 76acd000 kernel_appcore (deferred)    
77530000 776d1000 KERNELBASE (deferred)    
.shell: Process exited 

[編集](私の%PATH%であるcygwinのから、) "カーニング"(大文字と小文字を区別しない)

0:000> .shell -ci "lm" findstr /i kern 
74890000 74970000 KERNEL32 (deferred)    
76ac0000 76acd000 kernel_appcore (deferred)    
77530000 776d1000 KERNELBASE (deferred)    
.shell: Process exited 

GREP.EXEと同じで、すべてのモジュールを取得しますあなたは簡単に(私のpythonに仕事でたくさん使う)スクリプトインタプリタにwindbgののコマンドの出力を送ることができるよう

このコマンドは非常に強力です:

.shell -ci "<windbg command>" python mypythonscript.py 
1

シェルを使用できない場合、domdbg by denisのような拡張機能はほとんどありません。 grep/findstrの実装を提供するmicrosoftのMexなど。だからあなたはそれを好きに使うことができます。 !grep foo "lm"

2

私はちょうどGrep-like WinDbg extensionと書いてあります。あなたの要件を満たしていれば試してください。

サポートされているコマンドは以下の通りです:

!silent    : Switch On/Off silent mode  
!grep     : Filter lines by regular expression 
!igrep    : Filter lines by regular expression, case-insensitive 
!grep_format   : Do regular expression searching, output formatted result upon captured groups 
!igrep_format   : Do regular expression searching, output formatted result upon captured groups, case-insensitive 
!grep_formatx   : Do regular expression searching, output formatted result upon captured groups, then execute formatted string as windbg commands 
!igrep_formatx  : Do regular expression searching, output formatted result upon captured groups, case-insensitive, then execute formatted string as windbg commands 
関連する問題