1

バイナリしかないと仮定すると、windbg を使用してアセンブリにドロップし、何が起こっているかを確認できます。Windows ゲストは完全にエミュレートされたモードで実行されるため、ゲストでのトレースは簡単です。

仮想化レイヤー、つまりハイパーバイザーで何が起こっているかを追跡したい場合、それは少し難しいでしょう。実行しているマシンの種類によって異なります。最近では、プロセッサの仮想化がハードウェアに実装されているため、すべてのマシンが VMX 対応の 64 ビットであり、ハイパーバイザーがゲストの命令をオンザフライでインターセプトできるようになっています。

これは、ゲストがハイパーバイザーにドロップする単なるトラップであるため、ゲストがいつハイパーバイザーに入ったのか、いつ戻ったのかを知ることはほとんど不可能です。ただし、ハイパーバイザー内のコードをトレースしても、おそらく多くのことは達成できません。
VMX が有効なマシンでは、ページ テーブルの書き込みの変更と IOPL の変更のみがハイパーバイザーに送られます。他のすべては、ゲスト自体で処理されます。

すべての実用的なアプリケーションのデバッグでは、windbg で問題ありません。

WinDbg を使用してゲスト OS で実行中のプロセス (.exe) とその命令をトレースできますか??

これについて助けてください...私はこれについてあなたの時間を本当に感謝しています..ありがとう..:)

4

1 に答える 1

0

あなたが何を求めているのか完全にはわかりませんが、windbg を仮想マシンで実行できるかどうかを尋ねている場合は、物理マシンと同じように機能します。

仮想マシン自体を実行しているプロセスにアタッチしたいが、ゲスト OS の内部にあるプロセスを見る場合、答えはノーです。

于 2013-01-17T23:36:44.373 に答える