Dependency Walker - Как да използвам - Инструкция

Съдържание:

Dependency Walker - Как да използвам - Инструкция
Dependency Walker - Как да използвам - Инструкция

Видео: Dependency Walker - Как да използвам - Инструкция

Видео: Dependency Walker - Как да използвам - Инструкция
Видео: СЕКРЕТНЫЙ ГЛЮК НА БЕСПЛАТНЫЕ ГЕМЫ В БРАВЛ СТАРС / КАК ПОЛУЧИТЬ ГЕМЫ В BRAWL STARS - YouTube 2024, Може
Anonim

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

Dependency Walker

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

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

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

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

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

Затова натоварих Internet Explorer в Зависимост Walker.

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

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

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

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

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

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

Зависимостта Walker изтеглите

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

Препоръчано: