Как да използвате Dependency Walker на Windows системи

How Use Dependency Walker Windows Systems



Dependency Walker е безплатна помощна програма, която сканира всеки 32-битов или 64-битов модул на Windows (exe, dll, ocx, sys и т.н.) и изгражда йерархично дърво на всички зависими модули. За всеки открит модул се изброяват всички функции, които се експортират от този модул, и кои от тези функции всъщност се извикват от други модули. Dependency Walker също е много полезен за отстраняване на системни грешки, свързани със зареждането и изпълнението на модули. За да използвате Dependency Walker, просто стартирайте изпълнимия файл Depends.exe. По подразбиране той ще сканира модула, който в момента се изпълнява във вашия процес. Въпреки това можете също да използвате менюто Файл, за да отворите всеки друг модул на вашата система. След като даден модул бъде зареден, Dependency Walker ще изброи всички негови зависимости и ще ги покаже в дървовидния изглед вляво. След това десният панел ще покаже всички функции, експортирани от избрания модул. Ако изберете функция в десния панел, Dependency Walker ще подчертае всички модули в дървовидния изглед, които извикват тази функция. Това може да бъде много полезно, за да разберете кои модули използват определена функция. Dependency Walker може също да се използва за генериране на подробен дневник на всички зависимости за определен модул. След това този журнал може да се използва за възпроизвеждане на дървото на зависимостите на друга машина. За да генерирате дневник, просто изберете елемента от менюто File->Save As и изберете формата „Dependency Walker Log“.



Понякога обичайните стъпки за отстраняване на неизправности просто не работят. Може да се наложи да отидем все по-далеч и по-далеч - по-скоро като отстраняване на неизправности. Днес ще пиша за инструмент, който ще ни помогне в това. Пристрастяване Уокър е инструмент за анализиране на зависимостите на Windows приложение като функции, модули и т.н. Той изгражда йерархично дърво на всички зависими модули exe, dll, sys и т.н.





Инструмент за отстраняване на неизправности на Dependency Walker

Dependency Walker е безплатна помощна програма, която сканира всеки 32-битов или 64-битов модул на Windows (exe, dll, ocx, sys и т.н.) и изгражда йерархична дървовидна диаграма на всички зависими модули. Може да ви помогне да отстраните грешки в приложението, грешки при регистрация на файлове, нарушения на достъпа до паметта и грешки в невалидни страници.





изображение



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

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

  • Открива липсващи файлове. Това са файлове, които са необходими като зависимост от друг модул. Симптом на този проблем е грешката „Не може да се намери библиотеката за динамични връзки BAR.DLL на посочения път...“.
  • Открива невалидни файлове. Това включва файлове, които не са съвместими с Win32 или Win64 и файлове, които са повредени. Симптом на този проблем е грешката „Приложението или DLL BAR.EXE не е валидно изображение на Windows“.
  • Открива несъответствия при импортиране/експортиране. Проверява дали всички функции, импортирани от модул, действително се експортират от зависими модули. Всички неразрешени функции за импортиране са маркирани с грешка. Симптом на този проблем е грешката „Не може да се намери входна точка на процедура FOO в библиотеката за динамични връзки BAR.DLL.“
  • Открива грешки в кръговата зависимост. Това е много рядка грешка, но може да възникне при пренасочени функции.
  • Открива несъответстващи типове CPU модули. Това се случва, ако модул, създаден за един процесор, се опита да зареди модул, създаден за друг процесор.
  • Открива несъответствия на контролните суми, като проверява контролните суми на модулите, за да види дали някои модули са се променили, откакто са били построени.
  • Открива конфликти на модули, като маркира модули, които не са заредени на предпочитания базов адрес.
  • Открива грешки при инициализацията на модула, като наблюдава повикванията към входните точки на модула и търси грешки.
  • Dependency Walker може също така да профилира времето за изпълнение на вашето приложение, за да открие динамично заредени модули и грешки при инициализация на модули. Същата проверка за грешки, описана по-горе, се прилага за динамично заредени модули.

Например, онзи ден помагах на една клиентка - тя изтегли Internet Explorer, но IE продължи да се срива , без много грешки. Ние направихме най-много основно отстраняване на неизправности като деактивиране на добавките и ленти с инструменти, нулиране на IE до настройките по подразбиране и т.н. Но въпреки това продължаваше да се срива. Това означаваше, че един или повече файлове, необходими за правилното функциониране на Internet Explorer, създават проблема. Такива случаи винаги са трудни за отстраняване, но с Dependency Walker можем да видим дали нещо не е наред с някой от зависимите файлове.



Така че изтеглих Internet Explorer в Dependency Walker.

изображение

След това разширих списъка един по един

изображение

деинсталирайте smb1 клиентска задача

След това прегледах всеки от модулите, за да видя дали мога да намеря нещо подозрително там. Прелистих модула и имах късмета да открия проблема.

изображение

Открих, че файлът IEFRAME.dll липсва. Отидох и смених файла от инсталационното DVD на Windows. Това реши проблема. Сега Internet Explorer вече не се срива.

Надявам се, че това ви казва колко лесно е да използвате инструмента за намиране на възможни грешки в зависимостите.

Как да използвате Dependency Walker на Windows системи

За да използвате Dependency Walker за разследване на грешки, можете да следвате следните стъпки:

  1. Стартирайте Dependency Walker
  2. Щракнете върху Отвори в менюто Файл, за да изтеглите проблемния файл.
  3. От менюто Изглед щракнете върху Стартиране на профилиране. Ще се появи диалоговият прозорец Модул на профила.
  4. Въведете всички превключватели, програмни аргументи и други необходими опции и след това щракнете върху OK.

Dependency Walker ще инжектира dwinject.dll преди да възникне грешка и ще регистрира събития, които се случват по време на грешката.

Dependency Walker изтегли

Изтеглете PC Repair Tool, за да намерите бързо и автоматично да коригирате грешки в Windows

Можете да изтеглите Dependency Walker от Тук .

Популярни Публикации