Dependency Walker Dependency Walker
Dependency Walker (англ. Dependency Walker - обходчик зависимостей) или depends.exe - бесплатная программа для Microsoft Windows , используемая для получения списка импортируемых и экспортируемых функций PE-файла . Она также строит в виде диаграммы иерархическое дерево всех файлов, необходимых PE-файлу для выполнения (зависимостей).
Ошибка создания миниатюры: Файл не найден Скриншот программы |
|
Тип | |
---|---|
Автор |
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value). |
Разработчик | |
Разработчики |
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value). |
Написана на |
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value). |
Интерфейс |
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value). |
Операционная система | |
Языки интерфейса |
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value). |
Первый выпуск |
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value). |
Аппаратная платформа |
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value). |
Последняя версия | |
Кандидат в релизы |
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value). |
Бета-версия |
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value). |
Альфа-версия |
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value). |
Тестовая версия |
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value). |
Читаемые форматы файлов |
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value). |
Создаваемые форматы файлов |
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value). |
Состояние |
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value). |
Лицензия | |
Сайт | |
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value). |
Dependency Walker (англ. Dependency Walker - обходчик зависимостей) или depends.exe - бесплатная программа для Microsoft Windows , используемая для получения списка импортируемых и экспортируемых функций PE-файла . Она также строит в виде диаграммы иерархическое дерево всех файлов, необходимых PE-файлу для выполнения (зависимостей).
Depends - бесплатная программа, также известная как Dependency Walker. Представляет собой инструмент, служащий анализа структуры, также для поиска зависимостей (явных и неявных) между модулями в исполняемых файлах и библиотеках. Программа работает с файлами форматов EXE, SYS, DLL и OCX. Она поддерживает как 32-битые, так и 64-битные системы Windows.
Для начала работы с Depends необходимо указать файлы, которые требуется проанализировать. Сам процесс обработки данных занимает примерно минуту, после чего пользователь получает иерархический древовидный список зависимостей между модулями. Древовидный список отображается в левой части рабочего окна, а вся информация о выбранном компоненте, в частности, функции и зависимости - в левой. При необходимости приложение может сформировать отчет о собранной информации и экспортировать его в популярных форматах.
Другая важная функция Dependency Walker заключается в определении проблем, мешающих корректной работе библиотеки или исполняемого файла. В частности, она умеет находить отсутствующие модули, составлять список ошибок импорта и экспорта, обнаруживать циклические зависимости, сбои при попытке инициализировать компоненты и так далее. Программа предоставляет пользователю Debug-данные и краткую информацию об анализируемом файле (версию, путь к базе).
Как мы уже говорили ранее, графическая оболочка программы состоит из нескольких независимых панелей. Помимо списка и окна с общей информации, рабочая область также включает в себя окно лога. При необходимости размер любой из этих панелей можно изменить, "потянув" за нужную рамку. Наиболее продвинутые пользователи, не привыкшие работать с GUI, могут переключиться в режим командной строки. В целом, работать с Depends довольно удобно. Да и даже если вам так не кажется, то придется смириться. Никаких достойных альтернатив данной программе, к сожалению, не существует.
Dependency Walker - утилита, используемая при сбоях системы, для устранения ошибок в основных процессах устройства. Программа получает список функций импортируемых, экспортируемых файлов. Она занимается созданием диаграмм, схем, которые позволят выполнить зависимые процессы.
Разработчики добавили свежие обновления, позволяющие работать с большими плагинными архивами. Сейчас любой пользователь способен запрашивать информацию для осуществления взаимодействия с софтом. Приложение остановит некорректное функционирование модулей, работающих в настоящее время операционных систем. Отличается удобством, простотой использования. Работает с разными стандартными ОС. Позволяет работать компьютерному устройству более производительно.
Скачать бесплатно полную русскую версию Dependency Walker с официального сайта без регистрации и смс.
Dependency Walker - это искатель неисправностей и даже более того. Dependency Walker позволяет проследить, какие файлы загружаются и откуда, почему приложение не загружается и многое другое, т.е. проследить то, что происходит при загрузке. Dependency Walker просматривает все зависимые модули, нужные при загрузке приложения. При этом Dependency Walker выявляет недостающие файлы, поврежденные файлы, проверяет соотвествие между экпортируемыми функциями и теми, которые вызываются приложением. Dependency Walker определяет возможные ошибки инициализации модулей.
Кроме того Dependency Walker даёт детальную информацию о каждом модуле приложения, взаимодействии между модулями, дает перечень экспортируемых модулем функций, сообщить, какие из этих функций фактически вызываются, каие файлы нужны для загрузки данного модуля.
Скачать бесплатно Dependency Walker всегда можно с сайта www.dependencywalker.com.
Модули зависят друг от друга так:
Для определения какие модули загружаются при работе приложения используют Application Profiling, т.е. просмотр параметров приложения при его работе. Слово «profile» имеет ряд переводов и, в том числе, «совокупность параметров». Профиль приложения - это совокупность параметров приложения. Application Profiling показывает профиль приложения, например: какие модули динамически загружаются, какие не прошли инициализацию и т.п.
Профилированию подвергаются выполнимые файлы, обычно «.exe». Динамическую загрузку модулей можно наблюдать только в процессе работы приложения, а неявную, с здержкой, опережающую зависимости можно видеть сразу после того, как приложение будет открыто в Dependency Walker.
Для выявления всех загружаемых модулей следует проверять работу приложения под разными сценариями. Ведь определенные модули загружаются только при определенных обстоятельствах, например: при печати, при возникновении ошибки. Вот почему следут продумать сценарии исследования приложения.
Ошибка загрузки означает, что операционная система не может загрузить все требуемые модули или не найдены требуемые функции. Ошибки загрузки возникают и при попытке загрузить поврежденный файл, не Windows модуль, модуль для иного типа процессора, 16-битный модуль в 32-битное приложение. Ошибки загрузки часто сразу вывляются Dependency Walker-ом при открытии файла.
Ошибки времени исполнения могут возникать при загрузке новых модулей уже после запуска приложения. Приложение может обращаться к методам в этих модулях и если возникнут проблемы, Dependency Walker заметит их. Но, если приложение имеет обработчик таких ошибок, Dependency Walker может пропустить их.
Есть ещё один тип предупреждений, на которые укажет Dependency Walker. Их зовут первым и вторым исключениями. При возникновении исключительной ситуации приложение получает возможность обработать его. Это называют исключением первого шанса. Если исключение будет обработано приложением, то Dependency Walker может проигнорировать его. Но если не обработает, то исключение первого шанса становится исключением второго шанса, которое приводит к аварийной остановке приложения. Dependency Walker регистрируе исключение второго шанса, хотя есть возможность для него указать и на первое.
Главное окно программы Dependency Walker разбито на пять частей:
Все они имеют контекстные меню (клик правой кнопкой). Если установить курсор на объект и нажать F1, то получим справку по данному объекту.
Дерево объектов:
Дерево объекиов представляет иерархические зависимости между модулями. Корневой элемент - это модуль, который мы выбрали для проверки. Такой модуль имеет таблицы импорта, по которым и строится дерево. Но и каждый модуль в этом дереве может иметь свои таблицы импорта, которые тоже просматриваются.
Если модуль представлен в дереве объетов более одного раза, то он отмечается значком с жирной черной стрелкой. Разворачивается такой модуль в дереве только один раз, и чтоб увидеть эту развертку вибираем в контестном меню «Highlight Original Instance Command». Модули с опережающая зависимость (Forwarded Dependency) отмечаются тонкой изогнутой стрелкой.
Модули с задержкой загрузки (отсроченная) (Delay-load Dependancy) отмечаются картинкой с песочными часами.
Динамические модули, а это явная зависимость (Explicit Dependancy), отмечают картинкой с солнцем.
Розовый фон пиктограмм - это предупреждение.
Если модуль не найден, то увидим знак вопроса на желтом фоне.
Красная пиктограмма указывает на ошибку.
Если в контекстном меню снять флаг «Auto Expand», то буде показан корневой элемент, его непосредственные зависимости и возможные ошибки.
Список уникальных модулей определяет набор файлов, необходимых для работы приложения, т.е. это перечень его зависимостей.
Отличие этого окна от дерева объектов в том, что здесь представлены только уникальные модули, а в дереве объектов модули могут встречаться многократно. Значки в певом столбце аналогичны значкам в дереве объектов.
Импортируемые модулем функции представлены в окне
Красные значки укажут на ошибки.
Все экспортируемые модулем функции
Синеватый фон указывает на функции, которые фактически вызываются в этой сессии.
Журнал показывает сообщения о предупреждениях, ошибках и др.
Открываем файл, который собираемся проверять: File - > Open. Далее, выбираем пункт меню Profile - > Start Profiling. Для завершения работы: Profile - > Stop Profiling.