2

私はWindowsドライバーの開発に慣れていないので、私の質問があまりにも愚かである場合は、我慢してください。そうですね、MSDNが示唆しているように、また私が認識しているように、ホストコンピューター(ドライバーの開発など)とターゲットコンピューター(ドライバーのデバッグなど)が2つの別々のコンピューターである必要がある理由はわかりません。なぜそのような分離?私は、ドライバーを開発しているホストコンピューターにドライバーを展開してデバッグすることにより、これら2つをマージしようとしましたが、Windowsからの異議なしに機能しているように見えました。ありがとう。

PS。このようなソースhttp://msdn.microsoft.com/en-us/library/windows/hardware/hh698272(v=vs.85).aspxは私にそう思わせました。

4

3 に答える 3

2

実際には、ドライバーを開発およびテストしているときに、多くの状況でシステムクラッシュ(BSOD)が発生し、システムが起動できない場合があります。このような状況では、開発+デバッガー環境もなくなった/アクセスできなくなります。

于 2013-01-17T07:19:46.247 に答える
0

カーネルのデバッグには、2台の別々のマシンが必要です。明らかな理由で自分自身をデバッグすることはできません(デバッガーとデバッグ対象が同じカーネルにあり、デッドロックが発生します)。もちろん、ターゲットマシンは仮想マシンにすることができます。

于 2013-01-17T07:38:31.950 に答える
0

ドライバーを開発してテストすると、システムがクラッシュし、ブルースクリーン(BSODと呼ばれる-死のブルースクリーン)が表示されます。これは、ユーザーモードアプリケーションの開発とは異なり、メモリエラーが原因でクラッシュしました。ドライバーはカーネルモードアプリケーションとして実行されます。不正なメモリ操作が原因でドライバーがクラッシュした場合、システム全体が停止します。解決するのは簡単な問題ではありません。セーフモードにログインし、システムからドライバを削除して回復する必要があります。

このため、主にドライバーがインストールされているVMをターゲットとするマシンを使用し、そこでホストマシンを使用して、デバッガーを使用してドライバーをデバッグすることをお勧めします。

于 2015-11-27T06:33:48.120 に答える