2

Windows カーネル ログ、バッチ ファイル、またはコマンド プロンプトからカスタム行を追加したいと考えています。

Linux では、/dev/kmsgファイルに書き込むことでこれを行います。そのファイルに書き込まれたものはすべて、dmesgまたはを介し​​て表示されます/var/log/messages
例えばecho Hello world > /dev/kmsg

Windows側にも非常に似たものが必要です。

log_to_kernel.exe "my message"デバイスファイルにリダイレクトするのではなく、 のような解決策があれば私もOKです。Windowsにはデバイス「ファイル」の概念がないと思います。

要件の理由:
ドライバーでいくつかの問題をデバッグしようとしています。そのために、Windows で内部的にドライバーを呼び出すテスト プログラムを実行しています。
ドライバーが失敗した場合、1394 経由で接続されたカーネル windbg でデバッグ メッセージを確認できます。カーネル デバッガーはブレークポイント/アサートにヒットし、続行するまでターゲット システムの反復回数を確認できません。ウィンドバックより。
したがって、時間とテストの反復回数をカーネル ログ自体に記録する必要があります。これは、自動テストを実行するバッチ ファイルを介して行う予定です。

したがって、カスタム メッセージをカーネル ログに記録するツールまたは C コードを使用したダミーのエコー ドライバーが必要です。

1 行で、ユーザー空間アプリからカスタム メッセージをカーネル ログに書き込みたいと考えています。

4

1 に答える 1

4

ドライバーを作成している場合は、関数を使用DbgPrintExしてログ エントリを書き込むことになっています。

http://msdn.microsoft.com/en-us/library/windows/hardware/ff543634(v=vs.85).aspx

その後、デバッガーはそれを表示できるはずです。

アプリケーションがユーザー モードの場合OutputDebugStringは、最も単純です。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363362(v=vs.85).aspx

イベント トレースについて読むこともできます。

http://msdn.microsoft.com/en-us/library/windows/desktop/bb968803(v=vs.85).aspx

于 2012-10-05T13:07:33.660 に答える