WinDbg とVisual Studioデバッガーを使用する主な理由は何ですか?
また、Visual Studioデバッガーの完全な代替として、または必要に応じてさらに使用されるのが一般的ですか。
Visual Studioではなくwindbgを使用する必要がある理由がわからない場合は、 Advanced Windows Debugging を読む必要があります。本当に醜い問題をデバッグする必要があるときはいつでも、windbgにはVisualStudioよりも優れたテクノロジーがあります。 Windbgには、より強力なスクリプト言語があり、DLLを記述して難しい問題を自動化できます。 gflags.exeがインストールされ、メモリの上書きをデバッグするためのヒープをより適切に制御できます。
実際にインストールを実行する必要はありません。ファイルをコピーするだけで、すぐに使用できます。また、adsplus.vbをインストールするため、実行中のプロセスのミニダンプを取得できます。リモートデバッグを実行するためのセットアップも非常に簡単です。テストPCでちらつく15インチのモニターと戦う代わりに、自分のデスクから問題をデバッグできることほど良いことはありません。
日常のコード作成にはVisualStudioを使用していますが、他のコンピューターから問題のデバッグを開始したり、非常に醜い状況に陥ったりした場合は、windbgが唯一の方法です。 windbgの学習に時間を費やすことは、大きな投資です。また、クラッシュダンプを見ると、 http://www.dumpanalysis.org/blog と http://blogs.msdn.com/ntdebugging/default)の2つの優れたリソースがあります。 aspx これはwindbgを使用してすべてのデバッグを行います。
WinDbg の使用に役立ついくつかの追加リンクがあります。ほとんどは.NET固有です。
ネイティブコードとマネージコードのどちらをデバッグするかは指定しません。答えには影響しません。WinDbgは両方にとって非常に便利ですが、多くの人は、.NETアプリをデバッグするときにWinDbgの関連性が低いと考えています。そうではありません。ボーナスとして、WinDbgでSOS拡張子を付けて.NETアプリをデバッグすることで、.NETプラットフォームがどのように機能するかについて多くを学ぶことができます。NETアプリを実行(または接続)する) WinDbgとタイプ...
.loadby sos mscorwks
...使用中のCLRのバージョンに適した拡張機能をロードするようにしてください。次に、「...」と入力します。
!help
... SOS拡張機能で使用できるコマンドを確認します。
Microsoftには開発者ツールが1つしかなく、それがWinDbgだと冗談を言っていると聞きました。デバッグに必要なものはすべて、そこまたは拡張機能にあります。確かに、それらのサブセットは、より使いやすいUIを備えたVSでも利用できます... :-)
NT4.0サーバーから.dmpファイルが送信されたときに使用しました。MSVCはこれらの古い形式のファイルをロードしません。
Kernel-debuggingとremote-user-mode-debuggingを組み合わせます。
AFAIK、ビジュアルスタジオまだ「ソリューション」として説明したモードではリモートデバッグを実行できません。それがwindbgを使用する正当な理由です。
問題:
解決:
また、カーネルモードとユーザーモードの両方で同じデバッガーを使用する方が簡単で、windbgはユーザーモードでも非常に強力であり、カーネルモードとユーザーモードの両方のインスタンスで独自のwindbg拡張機能を活用できます。
軽量で、クライアントのマシンにインストールせずに実行でき、高速で、カーネルモードをデバッグできます。
最新のビジュアルスタジオには、デバッガーを子プロセスに自動的にアタッチさせるwindbgの「-o」に相当するものがまだありませんか?複雑な.batファイルから実行する必要があるアプリ、または親プロセスをフォークして終了するアプリに非常に役立ちます。
私はいつもウォッチアンドトレース機能が好きでした: 'wt'->すべての関数呼び出しが発生すると出力ウィンドウに出力されます。それはかなりクールなものでした!