XLsoft Corporation/エクセルソフト株式会社
英語 日本語 中国語 韓国語

エクセルソフト,XLsoft,WinDriver,ドライバ,デバイスドライバ,ドライバ開発,Windows ドライバ,Linux ドライバ,PCI ドライバ,USB ドライバ,DDK,ISA ドライバ,Device Driver,ドライバ 作成,Jungo

WinDriver ドライバ開発 .
.
.テクニカル ドキュメント #19
.
. サイト マップ
. 関連リンク
.

Doc ID: 19
製品: WinDriver & KernelDriver
Version:  --

WinDriver と KernelDrive を使用した、ドライバ コードのデバッグ

WinDriver ツールキットを使用する際に、ユーザー モードで開発し、そして、コンパイラのデバッガのように一般的なユーザー モードのデバッグ ツールを使用できます。

WinDriver と KernelDriver ツールキットには、デバッグ ツールとして、Debug Monitor ユーティリティ ("Monitor Debug Messages" または "KernelTracer") があります。このユーティリティには、GUI ベースの WinDriver(/KernelDriver)/util/wddebug_gui と コンソール ベースの WinDriver(/KernelDriver)/util/wddebug があります。 このユーティリティの詳細に関しては、WinDriver のユーザー マニュアルおよびテクニカル ドキュメント #12#13 (GUI 以外の使用方法) および #14 (VxWorks の場合) を参照してください。

WinDriver と KernelDriver には、WD_DebugAdd() API (v5.03 以降) があります。WD_DebugAdd() API で、コードからのデバッグ メッセージを Debug Monitor ログへ送信します。この API の詳細は、WinDriver のユーザー マニュアルの「関数リファレンス」を参照してください。
注意: ユーザーおよびカーネル モード コード (KernelDriver または WinDriver の Kernel PlugIn 機能のいずれかを使用して記述) からこの関数を呼ぶことができ、Kernel PlugIn KP_IntAtIrql() 関数などの HIGH IRQL で起動する関数内からこの関数を呼ぶことができます。

テクニカル ドキュメント #44 の説明のとおり、Debug Monitor ウィンドウの代わりに、カーネル デバッガへデバッグ メッセージを送ることもできます。たとえば、開発環境の PC でシステムがクラッシュまたはハングした場合に、他の PC へデバッグ メッセージのログを取ることができます。

v6.0 以降、WinDriver の多くの関数は、成功か関連するエラー コードを示す値を返し、デバッグ時に役立ちます。USB の場合、WinDriver/KernelDriver の v5.20 以降、USB API は、更にステータス情報を返し、エラーの原因を判明します。この情報は、USB 構造体へ追加された dwStatus フィールドに返されます。この戻りのステータス コードは、WinDriver の WD_USB_ERROR_CODES enum で定義されます (/KernelDriver)/include/windrvr.h)。

ernel でコードを開発する際には (KernelDriver または Kernel PlugIn を使用)、デバッグ中にカーネル デバッガ (WinDbg - Microsoft 社から無料で提供されているデバッグツール) を使用できます。KernelDriver のユーザー マニュアルを参照してください。上記でも述べましたが、ご使用のカーネル デバッガへ Debug Monitor から直接デバッグ メッセージを送信します。

WinDriver/KernelDriver のデバッグ処理の詳細に関しましては、WinDriver と KernelDriver のユーザー マニュアルの「デバッグ」の章を参照してください。

.
.
Top へ