八月の日記/メモ |
▼
2002.08.11(日) 01:47:42
ここのところ実に何も書いていなかったのは、あれもやろう、これもやろうとやりたいことが山積してしつつも、結局どれも片づかないという状態で、デッドロックしていたからだと思う。
そのうち一つが前進したので、日記生産量は回復の方向へ向かうのではないかと、予想される。
▼
2002.08.11(日) 01:58:15
懸案の一つ、WindowsXP 及び Windows2000 + DirectX8.1 で動かなくなっていた IF-SEGA のドライバを再び動くようにするための手がかりが見つかった。見つかったというより、予想していた通りの原因だったことを確認したという方が正しい。
原因としては、
▼
2002.08.29(木) 02:18:21
WindownsXP Debug/Check 版で、IEEE1394 経由でカーネルデバッガが動くことを確認。
Debuggging Tools for Windows というのが出ていて、DDK に付属のものより新しい kd.exe と windbg.exe が入っている。
IEEE1394 経由でデバッグするには、ホスト,ターゲットともに WindowsXP(または.Net)である必要がある。ターゲット側では、boot.ini で /debugport=1394 /channel=1 を指定する。ホスト側では、windbg を起動して File -> Kernel Debugger -> 1394 で channel 1 を指定して、OK する。
1394コントローラを追加して初めて windbg を使う時には必ずエラーが出る。メッセージが化けていてはっきりしないのだが、この時デバガ用の仮想デバイスが 1394コントローラから Expose されるように設定されるので、1394コントローラが正しくインストールされていれば、2回目にはうまく動くという仕組みらしい。
kd の場合は、kd -k 1394:channel=1 とコマンドラインで指定するか(これはwindbgにも有効)、
set _NT_DEBUG_BUS=1394
set _NT_DEBUG_1394_CHANNEL=1
の様に環境変数を設定する。
エラーなく起動した場合 windbg/kd は、接続待ち状態になるのだが、接続するには手動で Break を送ってやらなければならす面倒。おまけにタイミングによって効かない場合もある模様。(-b オプションが自動的に break を送るように見えるが期待される動作をしてくれない。)
結局のところあまり快適になった気がしない。