2011-02-20 18 views
2

私はデバッグ時にwindbgがどの程度強力であるのかを理解していますが、問題をデバッグするのに適切な時期はいつですか?それはより多くの問題、あるいは単に経験、直感、そしてそれを使用することが仕事を最も良くすることができるということを知っていますか?windbgを使用してデバッグするタイミング

答えて

4

これはすべてのことのうちの少しであり、多くの個人的な見解です。多くのWinDbgユーザーはWinDbgのみを使用しているため、デバッグに最適なものです。

WinDbgには、SOSのような優れた拡張機能もあります。したがって、ある特定の拡張機能は、別のデバッガーが持たない特定の情報を提供します。

特定の状況で異なるデバッガを使用する理由の1つは、デバッガが間違っていると思われる場合です。もちろんこれはまれです。例えば、スタックウォーキングのようなものの場合、デバッガはさまざまなメソッドを使用します。したがって、スタックを確認することができます。

大部分の問題については、要約しておきます。それはあなたが使用するのが最善であるものです。特定の問題については、その特定の問題に最も適しているツールを知っているということです。

1

Windbgはユーザーモードのデバッグのための優れたツールですが、カーネルモードのデバッグを終えると、これは本当に唯一の重大な選択です。

カーネルモードのデバッグシナリオには、2つのマシン、デバッガとデバッグ対象が含まれることがよくあります。シリアル接続、FirewireまたはUSB経由でデバッガに接続されているデバッガマシンでWindbgを実行します。このシナリオでは、ターゲットマシンを「フリーズ」し、実行中のすべてのものを完全に制御できます。多くの場合、デバッグ対象(ターゲット)はVMWareなどで実行されている仮想マシンになります。この場合、接続では通常、仮想シリアルポートも使用されます。

は、ここで仮想マシンのカーネルデバッグを設定する方法についてはVMWareからの命令です:

http://www.vmware.com/support/ws5/doc/ws_devices_serial_advanced_example_debugging.html

ます。また、セットアップが容易との接続もはるかに高速になりVirtualKD使用することができます。

http://virtualkd.sysprogs.org/

ローカルカーネルのデバッグにWindbgを使用することもできます。この場合、実行中のカーネルにWindbgを接続するマシンは1つだけです。同じマシンでWindbgを動かすこともできますが、メモリの内容を分析するなど、マシンを「フリーズ」することはできません。

+0

ですか? – Jon

関連する問題