0

カーネル デバッグを実行したい Windows 7 を実行していますが、ブート ローダーを台無しにしたくありません。そこで、ここで提案されているように LiveKd をダウンロードして実行し、動作しているようです。私が正しいことを理解していれば、それはある種の読み取り専用デバッグです。ここでは、非常に制限されており、ブレークポイントでさえ使用できないことが述べられています。このモードで、実行中のすべての命令、または基本的に現在の OS で発生しているすべてのイベントを定期的にダンプできるかどうかお尋ねしたいと思います。システム全体の strace (Linux ユーザーは知っています) をいくつか用意し、これに関する統計分析を行いたいと考えています。アドレスの解決などを開始するには、インストールされたデバッグ シンボルなどのより多くの要因に依存すると思います。

4

1 に答える 1

1

デバッガーがライブ システム コールのトレースに使用できる最適なツールであるかどうかはわかりません。あなたが言及したように、LiveKd セッションは非常に制限されており、ブレークポイントを配置することは許可されていません (そうしないと、独自のシステムがハングアップします)。ただし、コマンドを使用してメモリ ダンプを作成することはできます.dump(windbg ヘルプを確認してください: .hh .dump)。ただし、実行中のシステムのフル ダンプ ( /f) を取得するには、かなりの時間がかかる場合があることに注意してください。

質問の主題に戻ると、「ダンプアプローチ」を使用すると、特定の時点でのシステムのスナップショットしか得られないため、多くのシステムコールを見逃すことになります。したがって、Linux に似たものを探している場合は、straceこれらのツールを確認することをお勧めします。

  • プロセス モニター (procmon) - システム内のすべての I/O 要求と、レジストリまたはプロセス アクティビティ イベントで実行された操作を表示するツールです。
  • Windows Performance Toolkit - システムおよびアプリケーションのトレース イベントを収集 (WPR) および分析 (WPA) するためのツールが含まれています。多くのイベントが発生する可能性があり、必要に応じてそれらをフィルター処理することが非常に重要です。ETW (Event Tracing for Windows) は巨大なテーマであり、効果的に使用するには、チュートリアルや本を読む必要があるでしょう (しかし、それだけの価値はあります!)。
  • API Monitor - これは多くの (最高のアプリケーションの 1 つと考えています) トレース アプリケーションの 1 つです。このツールを使用すると、実行中のプロセスのメソッド呼び出しをトレースできます。優れたインターフェイスを備えており、傍受したいメソッドにブレークポイントを配置することもできます。

Windows でのトレースに使用できるツールは他にもたくさんありますが、ここでは上記のツールから始めます。また、このテーマに関する優れた本を確認することもできます: Inside Windows Debugging。幸運を!:)

于 2015-05-07T19:31:50.837 に答える