Дано:
Windows XP SP2 Eng
Compuware DS 3.2
windows server 2003 sp1 ddk
WindowsXP-KB835935-SP2-slp-Symbols
Не так давно я начал изучать программирование драйверов. Посему имею много вопросов к мудрецам.
1. Т.к. пишу я драйверы самые простые, то хочется отлаживать их на виртуальной машине (ну чтобы ошибки не приводили к фатальным последствиям). Посему вопрос. Если драйвер выполнит ошибку на VM, это приведет к аварийному останову только VM? И если все так хорошо (хост остается жив), то как отлаживать драйверы в таком случае? Ставить на VM SoftICE? Или только с помощью WinDbg?
2. Как отлаживать драйверы с помощью WinDbg? Нужно руководство не просто для чайника, а для чайника со свистком
Т.е. с самого начала. Вот драйвер скомпилен, а дальше... Что куда нажимать, вводить...
3. Имею WindowsXP-KB835935-SP2-slp-Symbols.exe (~200 Mb) Как их применять? Т.е. ставить-то я их ставлю, но эффект 0.0% В systemroot появляется папка symbols в которой с десяток вложенных папок (exe, sys, dll ... в каждой папке лежат pdb файлы). Например, ntoskrnl соответствует файл %SystemRoot%\Symbols\exe\ntoskrnl.pdb, а kernel32.dll - %SystemRoot%\Symbols\dll\kernel32.pdb. При запуске WinDbg в режиме Kernel Debugging Local пишется
Symbol search path is: D:\Windows\symbols
Executable search path is:
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ntoskrnl.exe -
в общем, внимание, вопрос! Как сделать так, чтобы символы грузились. В каком они должны быть формате и где лежать? И еще, если есть host и target, то где нужно устанавливать символы?
4. Вопрос является продолжением вопроса №3. А нужны мне эти символы отладочные? Т.е. Чем они мне помогут при отладке моих драйверов? Как я понял, если я захочу погулять отладчиком по системе, то при установленых символах я просто буду видеть Call ZwOpenProcessId вместо Call [123456]. Так? Ну плюс переменные и структуры.
в общем, я прошу вас очень подробно и доходчиво объяснить мне азы того, как сделать из моей машины (1 штука - это важно) рабочее место для написания и отладки драйверов. Тока на вас и уповаю, т.к. в спортлото по этому поводу писать безсмыслено