Dependency Walker - Как использовать - Учебник

Оглавление:

Dependency Walker - Как использовать - Учебник
Dependency Walker - Как использовать - Учебник

Видео: Dependency Walker - Как использовать - Учебник

Видео: Dependency Walker - Как использовать - Учебник
Видео: Александр Тоболь, Иван Григорьев — Стриминг и воспроизведение видео поверх голых сокетов и кодеков - YouTube 2024, Май
Anonim

Иногда обычные шаги по устранению неполадок просто не сокращают его. Возможно, нам придется идти дальше и дальше - больше похоже на судебное устранение неполадок. Сегодня я напишу об инструменте, который поможет нам в этом. Зависимость Уокер это инструмент для анализа зависимостей приложений Windows, таких как функции, модули и т. д. Он строит иерархическое дерево всех зависимых модулей exe, dll, sys и т. д.

Зависимость Уокер

Dependency Walker может помочь вам устранить ошибки приложения, ошибки регистрации файлов, нарушения доступа к памяти и неправильные ошибки страницы.

Dependency Walker становится особенно полезной, если ваша конкретная программа не загружается, или служба не запускается с ошибкой, указывающей на конкретную dll. В таких случаях вы можете загрузить эту программу или dll в Dependency Walker, чтобы увидеть, какой файл не загружается или какой модуль вызывает эту проблему, - и затем исправить его.
Dependency Walker становится особенно полезной, если ваша конкретная программа не загружается, или служба не запускается с ошибкой, указывающей на конкретную dll. В таких случаях вы можете загрузить эту программу или dll в Dependency Walker, чтобы увидеть, какой файл не загружается или какой модуль вызывает эту проблему, - и затем исправить его.

Программа не просто загружает модули, но также сканирует потенциальные ошибки. Согласно файлу справки, он выполняет следующие задания:

  • Обнаруживает отсутствующие файлы. Это файлы, которые необходимы в качестве зависимости от другого модуля. Симптомом этой проблемы является «Ошибка динамической библиотеки ссылок BAR.DLL не найдена в указанном пути …».
  • Обнаруживает неверные файлы. Сюда входят файлы, не совместимые с Win32 или Win64, и файлы, которые повреждены. Симптомом этой проблемы является ошибка «Ошибка приложения или DLL BAR.EXE не является допустимым образом Windows».
  • Обнаруживает несоответствия импорта / экспорта. Проверяет, что все функции, импортированные модулем, фактически экспортируются из зависимых модулей. Все нерешенные функции импорта помечены с ошибкой. Симптомом этой проблемы является «Ошибка точки входа FOO не может быть найдена в динамической библиотеке BAR.DLL».
  • Обнаруживает ошибки круговой зависимости. Это очень редкая ошибка, но может произойти с перенаправленными функциями.
  • Обнаруживает несогласованные типы процессоров. Это происходит, если модуль, построенный для одного процессора, пытается загрузить модуль, построенный для другого процессора.
  • Обнаруживает несоответствия контрольной суммы, проверяя контрольные суммы модулей, чтобы узнать, были ли изменены какие-либо модули после их создания.
  • Обнаруживает конфликты модулей, выделяя любые модули, которые не загружаются по их предпочитаемому базовому адресу.
  • Обнаруживает ошибки инициализации модуля, отслеживая вызовы на точки входа модуля и ищет ошибки.
  • Dependency Walker также может выполнять профиль времени выполнения вашего приложения для обнаружения динамически загружаемых модулей и сбоев инициализации модуля. Такая же проверка ошибок сверху применяется к динамически загружаемым модулям.

Например, я помогал клиенту на днях - она загружала Internet Explorer, но IE продолжал сбой, без каких-либо конкретных ошибок. Мы выполнили большинство основных проблем, таких как отключение надстроек и панелей инструментов, сброс настроек IE по умолчанию и т. Д. Но все равно он продолжал сбой. Это означало, что один или несколько файлов, необходимых для нормальной работы Internet Explorer, создавали проблему. Всегда бывает трудно устранить такие случаи, но с Dependency Walker мы можем увидеть, что-то не так с одним из зависимых файлов.

Поэтому я загрузил Internet Explorer в Dependency Walker.

Затем я расширил список один за другим
Затем я расширил список один за другим
Затем я прошел через каждый из модулей, чтобы увидеть, могу ли я найти там что-то подозрительное. Я прокрутил модуль и был достаточно удачлив, чтобы найти проблему.
Затем я прошел через каждый из модулей, чтобы увидеть, могу ли я найти там что-то подозрительное. Я прокрутил модуль и был достаточно удачлив, чтобы найти проблему.
Я обнаружил, что файл IEFRAME.dll отсутствует. Поэтому я пошел и заменил файл с установочного DVD-диска. Это решило проблему. Теперь Internet Explorer больше не разбился.
Я обнаружил, что файл IEFRAME.dll отсутствует. Поэтому я пошел и заменил файл с установочного DVD-диска. Это решило проблему. Теперь Internet Explorer больше не разбился.

Надеюсь, это скажет вам, как легко использовать инструмент для поиска возможных ошибок зависимостей.

Как использовать Dependency Walker

Чтобы использовать Dependency Walker для исследования ошибок, вы можете выполнить следующие действия:

  1. Начать зависание Уокер
  2. Нажмите «Открыть» в меню «Файл», чтобы загрузить файл проблемы
  3. В меню «Вид» выберите «Начать профилирование». Появится диалоговое окно «Модуль профиля»
  4. Введите любые переключатели, параметры программы, другие параметры и нажмите «ОК».

Dependency Walker будет вводить dwinject.dll до возникновения ошибки и будет регистрировать события, происходящие во время ошибки.

Зависимость Walker скачать

Вы можете загрузить Dependency Walker из Вот.

Рекомендуемые: