Windows Freeware exe, dll, ocx, sys Зависимость Walker
Одним из самых больших недостатков Windows NT является отсутствие инструментов для решения проблем.
с неисправными DLL. Зависимость Уокер — это начало.
depend.exe — бесплатная утилита Microsoft, которая сканируетПриведенная выше запись и исполняемые файлы для
любой 32-битный или 64-битный модуль Windows (exe, dll, ocx, sys и т. д.) и создает
иерархическая древовидная диаграмма всех зависимых модулей. Для каждого найденного модуля
перечисляет все функции, экспортируемые этим модулем, и какие из них
функции на самом деле вызываются другими модулями. В другом представлении отображается
минимальный набор необходимых файлов вместе с подробной информацией о каждом файле
включая полный путь к файлу, базовый адрес, номера версий, тип машины,
отладочная информация и многое другое.Dependency Walker также очень полезен для устранения системных ошибок.
связанных с загрузкой и выполнением модулей. Dependency Walker обнаруживает много общих
проблемы приложений, такие как отсутствующие модули, недопустимые модули, импорт/экспорт
несоответствия, циклические ошибки зависимостей, несоответствие типов машин модулей и
сбои инициализации модуля.Dependency Walker работает в Windows 95, 98, NT 3.51, NT 4.0 и Windows 2000.
Он может обрабатывать любые 32-битные или 64-битные модули Windows, в том числе предназначенные для
Windows СЕ. Его можно запустить как графическое приложение или как консольное приложение.
Dependency Walker обрабатывает все типы зависимостей модулей, включая неявные,
явные (динамические), перенаправленные, с задержкой загрузки и внедренные. Подробная справка есть
включены.
скачать можно здесь.
Параметры командной строки:
DEPENDS.EXE [/?] [/c] [/a:#] [/f:#] [/u:#] [/ps:#] [/pp:#] [/po:#] [/ph:#] [/pl:#] [/pg:#] [/pt:#] [/pn:#] [/pe:#] [/pm:#] [/pf:#] [/pc:#] ] [/pa:#] [/pd:dir] [/pr:args] [/pb] [/sm:#] [/si:#] [/se:#] [/sf:#] [/od:path] [/ot:path] [/of:path] [/oc:path] [/d:path] [path]/? Справка – отображает эту страницу.
/c Консольный режим — Dependency Walker обработает другие параметры командной строки и завершит работу, не отображая свой графический интерфейс. Вы должны указать модуль или файл образа Dependency Walker (DWI), который будет открываться при использовании этого параметра.
/a:# Auto Expand — используйте /a:0 для запуска Dependency Walker с изначально отключенным параметром Auto Expand или /a:1 для запуска с включенным параметром. Если этот параметр не указан, будет использоваться параметр последнего запуска Dependency Walker./f:# Просмотр полных путей — используйте /f:0 для запуска Dependency Walker с изначально отключенным параметром View Full Paths или /f:1 для запуска с включенным параметром. Если этот параметр не указан, будет использоваться параметр последнего запуска Dependency Walker.
/u:# Undecorate C++ functions — Используйте /u:0, чтобы запустить Dependency Walker с изначально отключенным параметром Undecorate C++ Functions, или /u:1, чтобы запустить его с включенным параметром. Если этот параметр не указан, будет использоваться параметр последнего запуска Dependency Walker./ps:# Параметр профилирования: имитируйте ShellExecute, вставив любые каталоги App Paths в переменную среды PATH. Используйте /ps:0, чтобы запустить Dependency Walker с изначально отключенным параметром, или /ps:1, чтобы запустить его с включенным. Если этот параметр не указан, будет использоваться параметр последнего запуска Dependency Walker.
/pp:# Параметр профилирования: регистрировать вызовы DllMain для сообщений о присоединении процесса и об отсоединении процесса. Используйте /pp:0, чтобы запустить Dependency Walker с изначально отключенным параметром, или /pp:1, чтобы запустить его с включенным. Если этот параметр не указан, будет использоваться параметр последнего запуска Dependency Walker./po:# Параметр профилирования: регистрировать вызовы DllMain для всех других сообщений, включая присоединение потока и отсоединение потока — используйте /po:0, чтобы запустить Dependency Walker с изначально отключенным параметром, или /po:1, чтобы запустить его с включенным. Если этот параметр не указан, будет использоваться параметр последнего запуска Dependency Walker.
/ph:# Параметр профилирования: подключите процесс для сбора более подробной информации о зависимостях — используйте /ph:0, чтобы запустить Dependency Walker с изначально отключенным параметром, или /ph:1, чтобы запустить его с включенным. Если этот параметр не указан, будет использоваться параметр последнего запуска Dependency Walker./pl:# Параметр профилирования: журнал вызовов функции LoadLibrary — используйте /pl:0 для запуска Dependency Walker с изначально отключенным параметром или /pl:1 для запуска с включенным. Если этот параметр не указан, будет использоваться параметр последнего запуска Dependency Walker. Если эта опция включена, то также будет включена опция «Зацепить процесс для сбора более подробной информации о зависимостях».
/pg:# Параметр профилирования: журнал вызовов функции GetProcAddress — используйте /pg:0 для запуска Dependency Walker с изначально отключенным параметром или /pg:1 для запуска с включенным. Если этот параметр не указан, будет использоваться параметр последнего запуска Dependency Walker. Если эта опция включена, то также будет включена опция «Зацепить процесс для сбора более подробной информации о зависимостях»./pt:# Параметр профилирования: информация о потоке журнала — используйте /pt:0, чтобы запустить Dependency Walker с изначально отключенным параметром, или /pt:1, чтобы запустить его с включенным. Если этот параметр не указан, будет использоваться параметр последнего запуска Dependency Walker.
/pn:# Параметр профилирования: используйте простые номера потоков вместо фактических идентификаторов потоков — используйте /pn:0, чтобы запустить Dependency Walker с изначально отключенным параметром, или /pn:1, чтобы запустить его с включенным. Если этот параметр не указан, будет использоваться параметр последнего запуска Dependency Walker. Если эта опция включена, то также будет включена опция «Информация о потоке журнала»./pe:# Параметр профилирования: регистрируйте исключения первого шанса — используйте /pe:0, чтобы запустить Dependency Walker с изначально отключенным параметром, или /pe:1, чтобы запустить его с включенным. Если этот параметр не указан, будет использоваться параметр последнего запуска Dependency Walker.
/pm:# Параметр профилирования: журнал выходных сообщений отладки — используйте /pm:0, чтобы запустить Dependency Walker с изначально отключенным параметром, или /pm:1, чтобы запустить его с включенным. Если этот параметр не указан, будет использоваться параметр последнего запуска Dependency Walker./pf:# Параметр профилирования: использовать полные пути при регистрации имен файлов.
– Используйте /pf:0, чтобы запустить Dependency Walker с изначально отключенным параметром, или /pf:1, чтобы запустить с включенным. Если этот параметр не указан, будет использоваться параметр последнего запуска Dependency Walker.
/pc:# Параметр профилирования: автоматически открывать и профилировать дочерние процессы — используйте /pc:0 для запуска Dependency Walker с изначально отключенным параметром или /pc:1 для запуска с включенным. Если этот параметр не указан, будет использоваться параметр последнего запуска Dependency Walker. Этот параметр игнорируется при работе в режиме консоли./pa:# Параметр профилирования: включите или выключите все параметры профилирования. Используйте /pa:0, чтобы изначально отключить все параметры профилирования, или /ps:1, чтобы изначально включить их все. Этот параметр можно использовать перед другими параметрами профилирования. Например, /pa:1 /pf:0 включает все параметры, кроме параметра «Использовать полные пути при регистрации имен файлов».
/pd:dir Параметр профилирования: Начальный каталог — указывает начальный каталог, который будет использоваться при профилировании модуля. Этот параметр требует, чтобы вы указали модуль для открытия./pr:args Параметр профилирования: Аргументы программы — указывает аргументы командной строки, используемые при профилировании модуля. Этот параметр требует, чтобы вы указали модуль для открытия.
/pb Параметр профилирования: автоматически начинать профилирование после загрузки модуля — для этого параметра необходимо указать модуль для открытия. Если указан параметр вывода (/od, /ot, /of или /oc), Dependency Walker дождется полного завершения профилирования перед сохранением результатов./sm:# Столбец сортировки для представления списка модулей — этот параметр управляет исходным столбцом сортировки, который Dependency Walker будет использовать при сортировке элементов в представлении списка модулей. Если этот параметр не указан, будет использоваться значение последнего запуска Dependency Walker. Допустимые значения:
1. Значок
2. Имя модуля или путь
3. Отметка времени файла
4. Отметка времени ссылки
5. Размер файла
6. Атрибуты файла
7. Контрольная сумма ссылки
8. Реальная контрольная сумма
9. Тип процессора
10. Тип подсистемы
11. Типы символов
12. Предпочтительный базовый адрес
13. Фактический базовый адрес
14. Виртуальный размер
15. Порядок загрузки
16. Версия файла
17. Версия продукта
18. Версия изображения
19. Версия компоновщика
20. Версия ОС
21. Версия подсистемы
/si:# Столбец сортировки для представления списка родительских функций импорта — этот параметр управляет исходным столбцом сортировки, который Dependency Walker будет использовать при сортировке элементов в представлении списка родительских функций импорта. Если ни этот параметр, ни параметр /sf не указаны, то будет использоваться значение последнего запуска Dependency Walker. Допустимые значения:
1. Значок
2. Порядковое значение
3. Значение подсказки
4. Название функции
5. Адрес точки входа
/se:# Столбец сортировки для представлений списка функций экспорта — этот параметр управляет исходным столбцом сортировки, который Dependency Walker будет использовать при сортировке элементов в представлении списка функций экспорта. Если ни этот параметр, ни параметр /sf не указаны, то будет использоваться значение последнего запуска Dependency Walker. Допустимые значения:
1. Значок
2. Порядковое значение
3. Значение подсказки
4. Название функции
5. Адрес точки входа
/sf:# Столбец сортировки для обоих представлений списка функций — этот параметр управляет исходным столбцом сортировки, который Dependency Walker будет использовать при сортировке элементов как в представлении списка родительских функций импорта, так и в представлении списка функций экспорта. Если для определенного столбца не указана опция сортировки столбца, то будут использоваться значения, полученные при последнем запуске Dependency Walker. Допустимые значения:
1. Значок
2. Порядковое значение
3. Значение подсказки
4. Название функции
5. Адрес точки входа
/od:path Выходной файл в формате Dependency Walker Image (DWI) — для этого параметра необходимо указать модуль или файл Dependency Walker Image (DWI) для открытия. После обработки модуля результаты будут записаны в указанный файл в формате Dependency Walker Image (DWI).
/ot:path Выходной файл в текстовом формате — для этого параметра необходимо указать модуль или файл образа Dependency Walker (DWI) для открытия. После обработки модуля результаты будут записаны в указанный файл в текстовом формате./of:path Выходной файл в текстовом формате со списками функций импорта/экспорта — для этого параметра необходимо указать модуль или файл образа Dependency Walker (DWI) для открытия. После обработки модуля результаты будут записаны в указанный файл в текстовом формате, включая списки функций импорта и экспорта.
/oc:path Выходной файл в формате значений, разделенных запятыми (CSV). Для этого параметра необходимо указать модуль или файл образа Dependency Walker (DWI) для открытия. После обработки модуля результаты будут записаны в указанный файл в формате значений, разделенных запятыми (CSV)./d:path Файл пути обходчика зависимостей (DWP) для загрузки — этот параметр позволяет указать файл пути обходчика зависимостей (DWP) для загрузки и использования в качестве начального пути поиска при поиске модулей. Файлы DWP можно создавать с помощью команды «Настроить порядок поиска» в Dependency Walker.
path Путь к модулю или файлу образа Dependency Walker (DWI) для загрузки — для этого параметра можно указать имя файла, относительный путь или полный путь к загружаемому файлу. Файл должен быть 32-разрядным или 64-разрядным модулем Windows или файлом образа Dependency Walker (DWI).Общие правила относительно параметров командной строки
Параметры нечувствительны к регистру. Например, «/c» и «/C» эквивалентны.
Параметры могут начинаться с косой черты или тире. Например, «/c» и «-c» эквивалентны.
Двоеточия (:), показанные в параметрах выше, необязательны. Их можно удалить или заменить пробелами. Например, «/f:0», «/f 0» и «/f0» эквивалентны.
Все параметры профилирования суммируются слева направо. Например, /pa:1 /pm:0 включает все параметры профилирования, затем отключает параметр «Записывать выходные сообщения отладки», а /pm:0 /pa:1 просто включает все параметры профилирования.Если вы хотите указать текст с пробелами, этот текст должен быть заключен в кавычки. Например:
зависит /pr «1 2 3» /pb /oc «c:output filesfoo bar.csv» «c:input filesfoo bar.exe»
Несколько вариантов могут быть сгруппированы вместе. Вы даже можете добавлять параметры к другим параметрам, требующим числовых значений. Единственными параметрами, к которым нельзя добавить, являются параметры, для которых требуется путь или текстовые значения (/pd, /pr, /od, /ot, /of, /oc и /d). Например:
зависит /c /f:0 /u:1 /pa:1 /pf:0 /pe:0 /pb /sm:12 /sf:4 /d:search.dwp /oc:result.csv /od:result. dwi foo.exe
Можно сократить до:
зависит от /cf0u1pa1pf0pe0pbsm12sf4dsearch.dwp /ocresult.csv /odresult.dwi foo.exe
Все параметры можно указать с параметром «Консольный режим» (/c) или без него.
Можно указать более одного параметра типа выходного файла.
Возвращаемые значения
Когда Dependency Walker завершает работу, он возвращает набор битовых флагов, которые объединены по ИЛИ. Существует три группы флагов ошибок: предупреждения модуля, ошибки модуля и ошибки обработки. Флаги ошибок расположены таким образом, чтобы облегчить определение серьезности проблемы.
Если возвращаемое значение больше или равно 0x00010000, это означает, что в Dependency Walker произошла ошибка обработки, и работа не была выполнена. В противном случае, если возвращаемое значение больше или равно 0x00000100, операционная система не сможет загрузить модуль из-за ошибки модуля или зависимости. В противном случае, если возвращаемое значение больше или равно 0x00000001, модуль не имеет проблем с зависимостью во время загрузки и, скорее всего, не будет иметь проблем с загрузкой, но может иметь проблемы во время выполнения.
Предупреждения модуля. Приложение должно загрузиться, но может завершиться ошибкой во время выполнения.
0x00000001 По крайней мере один модуль динамической зависимости не найден.
0x00000002 По крайней мере один модуль зависимости отложенной загрузки не найден.
0x00000004 По крайней мере одному модулю не удалось динамически найти функцию в другом модуле с помощью вызова функции GetProcAddress.
0x00000008 По крайней мере один модуль имеет неразрешенный импорт из-за отсутствия функции экспорта в зависимом от отложенной загрузки модуле.
0x00000010 По крайней мере один модуль был поврежден или стал нераспознаваемым для Dependency Walker, но по-прежнему считался модулем Windows.Ошибки модуля — приложение не загружается операционной системой.
0x00000100 По крайней мере один файл не был 32-битным или 64-битным модулем Windows.
0x00000200 По крайней мере одна требуемая неявная или переадресованная зависимость не найдена.
0x00000400 По крайней мере один модуль имеет неразрешенный импорт из-за отсутствия функции экспорта в зависимом модуле.
0x00000800 Найдены модули с разными типами ЦП.
0x00001000 Обнаружена циклическая зависимость.Ошибки обработки — все или некоторые модули не могут быть обработаны.
0x00010000 Произошла ошибка по крайней мере с одним параметром командной строки.
0x00020000 Файл, который вы указали для загрузки, не найден.
0x00040000 Не удалось открыть хотя бы один файл для чтения.
0x00080000 Формат файла изображения Dependency Walker (DWI) не был распознан.
0x00100000 Произошла ошибка при попытке профилировать приложение.
0x00200000 Произошла ошибка записи результатов в выходной файл.
0x00400000 У Dependency Walker закончилась память.0x00800000 Dependency Walker обнаружил внутреннюю ошибку программы.
Справка Dependency Walker версии 2.0 Beta 5