Windows 2000のカーネルデバッグにはx86バージョンのWinDbgが必要なのが判明
現行版の WinDbgで Windows 2000のデバッグをすると
Kernel base = 0x80800000 PsLoadedModuleList = 0x808815c0 System Uptime: not available Unable to add extension DLL: kdextx86 Unable to load image ntoskrnl.exe, Win32 error 0n2 |
のようなエラーが出るんですが、一応動くので、スタックとレースなどができなくてエラーが見れないなぁと思ってたのですがあまり気にしてませんでした。
夏休みで少し時間ができたので、拡張Libっぽい kdextx86を読めるようにしてみようと思ったのでした。
Kernel base = 0x80800000 PsLoadedModuleList = 0x808815c0 You may also consider deploying your extension to the UserExtensions extension gallery repository |
試しに、kdextx86を読み込ませてみようとおもったんですが、kdextx86.dllって、実はx86用のバイナリしか存在しません。
古いバージョンのDebugging Tools for Windows (x64) インストールしても、フォルダ自体がないんですよ。
つまり、x86版を使うしかないのです
そして、Windows 2000に対応してる最終版が dbg_x86_6.12.2.633.msi(version 6.12.2.633)となります。
今まで謎だった、WiFi Driver クラッシュが Division by 0 が原因なのが判明!
試しに、Windows 8.1 のSDKの6.3.9600.16384版に w2kchkとw2kfreをコピーしてみたところ、ちゃんとプラグインが読み込めました
必要なのは32bit版 WinDbgだったのでした。
Comments