Файл: Руссинович М., Маргозис А. Утилиты Sysinternals. Справочник администратора 2012.pdf

ВУЗ: Не указан

Категория: Книга

Дисциплина: Операционные системы

Добавлен: 29.10.2018

Просмотров: 32976

Скачиваний: 742

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

388  Часть 

III   

Поиск и устранение сбоев: загадочные случаи

Он проверил журнал приложения резервного копирования, в котором поя-

вилось сообщение о неудаче чтения DLL-файла nnotes.dll (рис. 16-7). Ему по-
казалось странным, что путь к указанному DLL-файлу находился в папке, 
принадлежавшей совсем другому приложению.

Рис. 16-7.  Сообщение о неудаче при чтении nnotes.dll в журнале приложения резервного 
копирования 

Системный администратор запустил Procmon и попытался начать ре-

зервное копирование. Он назначил фильтр по имени приложения резерв-
ного копирования и его дочерних процессов, он нажал Ctrl+F, чтобы найти 
строку «\nnotes.dll» в трассировке. Нашлось несколько вызовов  QueryOpen  
(рис. 16-8), пытающихся открыть файл в различных папках, каждый раз 
неудачно. При этом отображалась надпись NAME NOT FOUND. Наконец, 
файл был найден в C:\Program Files\BMC Software\MasterCell\server\bin 
(по словам системного администратора, некоторые из этих папок находи-
лись в переменной окружения PATH, а остальные были добавлены прило-
жением резервного копирования в период выполнения).

Рис. 16-8.  Поиск файла nnotes.dll

Вскоре после открытия той копии nnotes.dll процесс спроецировал DLL-

файл в свое виртуальное адресное пространство. Это действие сопровожда-
ется событием Loadlmage  (см. первую строку на рис. 16-9). Почему же не 
удалось загрузить DLL-файл? Как видно из рис. 16-9, вскоре после загрузки 
nnotes.dll процесс начал поиск nxmlproc.dll, просматривая все пути из пере-
менной PATH по порядку, однако искомый файл найден не был.

Системный администратор запустил утилиту Dumpbin из Microsoft 

Visual Studio, для просмотра зависимостей DLL и понял, что nnotes.dll за-
висит от nxmlproc.dll. Поэтому сразу после загрузки nnotes.dll начинался по-
иск nxmlproc.dll, а отсутствие nxmlproc.dll мешало загрузить nnotes.dll.

SIN_ch_16.indd   388

27.12.2011   14:52:42


background image

Сообщения об ошибках  

Глава 16  389 

Рис. 16-9.  Приложение резервного копирования успешно загружает nnotes.dll, но не может 
найти nxmlproc.dll

После nxmlproc.dll искали на дисках C и D, в конце концов этот файл об-

наружился в папке D:\Domino (рис. 16-10), которую при поиске не просма-
тривали. Что интересно, копия nnotes.dll лежала в той же папке (рис. 16-11).
Администратор вставил «D:\Domino» в переменную PATH сразу после стан-
дартных путей Windows по умолчанию, перезагрузил компьютер и резерв-
ное копирование заработало как часы. Так была решена эта проблема.

Рис. 16-10.  Поиск nxmlproc.dll на дисках C и D

Рис. 16-11. Поиск 

nnotes.dll

SIN_ch_16.indd   389

27.12.2011   14:52:42


background image

390  Часть 

III   

Поиск и устранение сбоев: загадочные случаи

Сбой воспроизведения в медиаплеере

Один из пользователей пытался использовать функцию «Воспроизвести 
на» (Play To) в Windows 7 для проигрывания песни в медиаплеере и получил 
непонятное сообщение об ошибке (рис.16-12). Тем не менее, другие песни из 
медиабиблиотеки этого пользователя проигрывались без проблем.

Рис. 16-12.  Ошибка с сообщением «Error occurred on your device» 

После этого пользователь вновь столкнулся с ошибкой, на этот раз в про-

цессе мониторинга активности системы с помощью программы Procmon. 
После установки фильтра по файлу песни трассировка показала успешные 
операции с Wmplayer.exe и единственный результат с «ACCESS DENIED» 
для программы Wmpnetwk.exe. (рис. 16-13).

Рис. 16-13.  Успешные операции Wmplayer.exe и неудачная операция Wmpnetk.exe

Он также заметил, что песни, которые успешно проигрывались, находи-

лись в папке по умолчанию Music, а песня, которую не удалось воспроизве-
сти, — в папке Documents. Сравнив их разрешения, он обнаружил, что пес-
ни, которые успешно воспроизводились, давали разрешение на чтение и вы-
полнение службе WMPNetworkSvc

1

. Он добавил это разрешение для файла, 

который не удавалось воспроизвести (рис.16-14), и песня стала звучать без 
сбоев. Проблема была решена.

1

 В Windows Vista и выше службам присвоены идентификаторы защиты (SID), благодаря чему 

появилась возможность предоставлять или запрещать доступ отдельным службам.

SIN_ch_16.indd   390

27.12.2011   14:52:42


background image

Сообщения об ошибках  

Глава 16  391 

Рис. 16-14.  Предоставление разрешения на доступ службе WMPNetworkSvc

Крах утилиты Proksi

Один из пользователей работал с утилитой Proksi более года, а потом утилита 
стала завершаться с крахом. Для диагностики он запустил Procmon, а затем — 
проблемную утилиту. После краха трассировку прекратили. Просканировав 
результаты (рис. 16-15), он обнаружил результат «ACCESS DENIED» при по-
пытке открыть файл со стандартными разрешениями на запись. 

Рис. 16-15.  Procmon выводит сообщение «ACCESS DENIED», затем отладчик 
обрабатывает крах

Пользователь открыл вкладку Security в окне свойств файла в Провод-

нике, однако не обнаружил никаких ошибок. Затем он заметил, что на 
вкладке General установлен флажок Read-Only (рис.16-16). Он снял его, и 
программа стала работать без сбоев.

SIN_ch_16.indd   391

27.12.2011   14:52:43


background image

392  Часть 

III   

Поиск и устранение сбоев: загадочные случаи

Рис. 16-16.  Отказ в доступе в результате установки флажка Read-Only

Сбой при установке

Один из клиентов моего соавтора работал со сканерами «Kodak», к кото-
рым прилагались компакт-диски с необходимым программным обеспече-
нием. Когда администратор вставил компакт-диск в дисковод, автозапуск 
Windows Vista сработал некорректно: открылось окно автозапуска, однако 
не появились параметры установки ПО. Администратор открыл папку в 
Проводнике и запустил файл autorun.exe, чтобы начать установку вручную. 
Согласившись на повышении привилегий UAC, администратор увидел со-
общение о странной ошибке, как будто программа установки не смогла най-
ти нужную версию ОС (рис. 16-17).

Рис. 16-17.  Сообщение об ошибке при установке приложения

Поиск и устранение сбоя

Аарон понял, что автор программы установки считал, что Windows XP на-
столько совершенна, что Microsoft не будет выпускать других версий, поэто-
му предусматривать их наличие при проверке не стоит. Он включил режим 
совместимости с Windows XP, который, ко всему прочему, сообщает про-
грамме ложную информацию об операционной системе, и попробовал уста-
новить программу снова с тем же результатом. Кстати, установка прекрасно 
выполнялась в свежих копиях Windows Vista, к которым не применялась 
корпоративная политика.

SIN_ch_16.indd   392

27.12.2011   14:52:43