VMWare 上の Windows 2000をカーネルデバッグする方法
VMWare Player で Windows 2000でブルースクリーンになるデバイスドライバを改造で使えるかどうか検証しようと思ったら、うまくいかなくてはまったので、手順を書くよ・ω・!
まず、シリアルポート追加。
・起動時に接続
・名前付きパイプを使用する。
\\.\pipe\com1
・この端末はサーバーです。
・接続先は仮想マシンです。
入出力モード
・ポーリングでCPUを放棄するにチェック
仮想PCを起動して boot.iniを編集。
/debug /debugport=COM1 /baudrate=115200 を追加。
シャットダウンして、仮想マシンの VMXファイルを開いてみる。
serial0.fileType ="thinprint"ってのがもしあれば、 さっき設定したのは COM1ではなくCOM2
thinprint の設定を消すか、serial1 と serial0 を入れ替える。
次、WinDbg.exe の設定。
Kernel Debug で接続するんだけど。
その時このメニューが出るのよね。
COM タブを選んで、
Baud Rate: 115200
Port: \\.\Pipe\com1
Pipe にチェック
Reconnect にチェック
この起動選択が出たときに、さっき設定した Debugger Enabledの方を選べばいいと思ったら、それだけじゃだめらしい。
F8 に入って、 Debugging Mode を選ばないとダメポ
これでやっとつながった
デバッガでよく使うのは
F10 ステップオーバー(次の命令まで実行)
F5 実行
r (レジスター一覧)
r e**=xxxxxxxx (レジスター代入)
k スタックフレーム表示
d xxxxxxxx メモリ表示
ですかの?・ω・
Comments