WinDbg и Process Explorer и подключение символов

Ответить
Аватара пользователя
evgen84

WinDbg и Process Explorer и подключение символов

Сообщение evgen84 »

Здравствуйте.

Вопрос по WinDbg и Process Explorer и подключение символов.



Если комп смотрит в инет и настройках в ‘Options->Configure Symbols…’ поле Symbols Path написать:



srv*C:\Windows\Symbols*
http://msdl.microsoft.com/download/symbols
, то все гуд, все отображается как в WinDbg так и в Process Explorer-е.

Но если сервер не смотрит в инет, то качаем от сюда вручную. Затем этот архив необходимо разпаковать, установить (например по умолчанию в %systemdir%\symbols). Затем запустить windbg, выбрать локальную отладку (File\Kernel Debug\Local). Затем указать путь к символам (File\Symbol File path\brouse), выбрать путь, куда они были установлены, т.е. %systemdir%\symbols. И в отладчике наблюдаю:



Loading unloaded module list

...................*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\WINDOWS\system32\ntdll.dll -



lkd> .reload

Connected to Windows XP 2600 x86 compatible target at (Thu Jun 4 13:32:18.468 2009 (GMT+3)), ptr64 FALSE

*** ERROR: Symbol file could not be found. Defaulted to export symbols for ntkrpamp.exe -

Loading Kernel Symbols



Ну и соответственно при выполнении команды ! vm



lkd> ! vm



*** Virtual Memory Usage ***

Physical Memory: 259883 ( 1039532 Kb)

00000000: Unable to get page file

************************************************** ***********************

*** ***

*** ***

*** Your debugger is not using the correct symbols ***

*** ***

*** In order for this command to work properly, your symbol path ***

*** must point to .pdb files that have full type information. ***

*** ***

*** Certain .pdb files (such as the public OS symbols) do not ***

*** contain the required information. Contact the group that ***

*** provided you with these symbols if you need this command to ***

*** work. ***

*** ***

*** Type referenced: nt!_MM_PAGED_POOL_INFO ***

*** ***

************************************************** ***********************

00000000: Unable to get paged pool info

unable to get nt!MmTotalFreeSystemPtes

************************************************** ***********************

Подскажите, если кто это реально делал, как корректно их подключить без инета?
http://www.microsoft.com/whdc/devtoo...g/default.mspx
Аватара пользователя
Nixel

Re: WinDbg и Process Explorer и подключение символов

Сообщение Nixel »

Сообщение не претендует на скоростной ответ ))) ну что поделать ))



Чтобы подключить локальные файлы символов в отладчику KD необходимо сделать следующее.



1) Скачать файлы символов,
ссылка на скачку


2) Установить то что скачали, например в c:\Windows\Symbols

3) Настроить переменную среды _NT_SYMBOL_PATH. Свойство системы -> Дополнительно -> Переменные среды. Кликнуть создать

Имя переменной = _NT_SYMBOL_PATH

Занчение переменной = c:\Windows\Symbols (или куда вы установили файлы символов)

4) Сделать образ диска с Windows той версии которую вы используете(например ХР) или каждый раз при отладке вставлять диск с сидюк или скачать с диска папку i386 на винт. 3-ий вариант возможно работать не будет (Хотя я не пробовал).

5) Вставляем образ в Daemon Tools или подобную утилиту, в остальных случаях (см. пункт 4) ничего не делать.

6) Запускаем windbg с параметрами -i -z



У меня ярлык для запуска KD с параметром отладки файла минидампа получился вот такой "C:\Program Files\Debugging Tools for Windows (x86)\i386kd.exe" -i e:\i386 -z c:\WINDOWS\MEMORY.DMP



Всего хорошего ))





Если не заработало, то установить переменную среды в SRV*C:\WINDOWS\symbols*
http://msdl.microsoft.com/download/symbols


Тогда будет происходить автоматическая подкачка символов с сервера microsoft по мере надобности
Ответить

Вернуться в «Microsoft Windows NT/2000/2003»