Jak korzystać z Dependency Walker w systemach Windows

How Use Dependency Walker Windows Systems



Dependency Walker to darmowe narzędzie, które skanuje dowolny 32-bitowy lub 64-bitowy moduł systemu Windows (exe, dll, ocx, sys itp.) i buduje hierarchiczne drzewo wszystkich zależnych modułów. Dla każdego znalezionego modułu zawiera listę wszystkich funkcji, które są eksportowane przez ten moduł, oraz które z tych funkcji są faktycznie wywoływane przez inne moduły. Dependency Walker jest również bardzo przydatny do rozwiązywania problemów z błędami systemowymi związanymi z ładowaniem i wykonywaniem modułów. Aby użyć Dependency Walker, po prostu uruchom plik wykonywalny Depends.exe. Domyślnie przeskanuje moduł, który jest aktualnie wykonywany w twoim procesie. Możesz jednak również użyć menu Plik, aby otworzyć dowolny inny moduł w swoim systemie. Po załadowaniu modułu, Dependency Walker wyliczy wszystkie jego zależności i wyświetli je w widoku drzewa po lewej stronie. Prawy panel pokaże wtedy wszystkie funkcje wyeksportowane przez wybrany moduł. Jeśli wybierzesz funkcję w prawym okienku, Dependency Walker podświetli wszystkie moduły w widoku drzewa, które wywołują tę funkcję. Może to być bardzo przydatne do ustalenia, które moduły używają określonej funkcji. Dependency Walker może być również użyty do wygenerowania szczegółowego dziennika wszystkich zależności dla konkretnego modułu. Tego dziennika można następnie użyć do odtworzenia drzewa zależności na innym komputerze. Aby wygenerować dziennik, po prostu wybierz pozycję menu Plik->Zapisz jako i wybierz format „Dependency Walker Log”.



Czasami zwykłe kroki rozwiązywania problemów po prostu nie działają. Być może będziemy musieli iść dalej i dalej - bardziej jak rozwiązywanie problemów. Dzisiaj napiszę o narzędziu, które nam w tym pomoże. Walker uzależnień to narzędzie do analizy zależności aplikacji Windows, takich jak funkcje, moduły itp. Buduje hierarchiczne drzewo wszystkich zależnych modułów exe, dll, sys itp.





Narzędzie do rozwiązywania problemów z Walkerem zależności

Dependency Walker to darmowe narzędzie, które skanuje dowolny 32-bitowy lub 64-bitowy moduł Windows (exe, dll, ocx, sys itp.) i buduje hierarchiczny diagram drzewa wszystkich zależnych modułów. Może pomóc w rozwiązywaniu problemów z błędami aplikacji, błędami rejestracji plików, naruszeniami dostępu do pamięci i błędami nieprawidłowych stron.





obraz



Dependency Walker staje się szczególnie przydatny, jeśli dany program nie ładuje się lub usługa nie uruchamia się z powodu błędu wskazującego na konkretną bibliotekę DLL. W takich przypadkach możesz załadować ten program lub bibliotekę dll do Dependency Walker, aby zobaczyć, który plik się nie ładuje lub który moduł powoduje problem, a następnie go naprawić.

Program nie tylko ładuje moduły, ale także szuka ewentualnych błędów. Zgodnie z plikiem pomocy wykonuje następujące zadania:

  • Wykrywa brakujące pliki. Są to pliki wymagane jako zależność od innego modułu. Symptomem tego problemu jest błąd „Nie można znaleźć biblioteki dołączanej dynamicznie BAR.DLL w określonej ścieżce...”.
  • Wykrywa nieprawidłowe pliki. Obejmuje to pliki, które nie są kompatybilne z Win32 lub Win64 oraz pliki, które są uszkodzone. Objawem tego problemu jest błąd „Aplikacja lub DLL BAR.EXE nie jest prawidłowym obrazem systemu Windows”.
  • Wykrywa niespójności importu/eksportu. Sprawdza, czy wszystkie funkcje importowane przez moduł są faktycznie eksportowane z modułów zależnych. Wszystkie nierozwiązane funkcje importu są oznaczone błędem. Symptomem tego problemu jest błąd „Nie można znaleźć punktu wejścia procedury FOO w bibliotece BAR.DLL”.
  • Wykrywa błędy zależności cyklicznych. Jest to bardzo rzadki błąd, ale może wystąpić w przypadku funkcji przekierowanych.
  • Wykrywa niedopasowane typy modułów procesora. Dzieje się tak, gdy moduł utworzony dla jednego procesora próbuje załadować moduł utworzony dla innego procesora.
  • Wykrywa niezgodności sum kontrolnych, sprawdzając sumy kontrolne modułów, aby zobaczyć, czy jakiekolwiek moduły zmieniły się od czasu ich zbudowania.
  • Wykrywa konflikty modułów, podświetlając moduły, które nie są załadowane pod preferowanym adresem bazowym.
  • Wykrywa błędy inicjalizacji modułów, monitorując wywołania punktów wejścia modułu i szukając błędów.
  • Dependency Walker może również profilować środowisko wykonawcze aplikacji, aby wykrywać dynamicznie ładowane moduły i błędy inicjalizacji modułów. To samo sprawdzanie błędów opisane powyżej dotyczy modułów ładowanych dynamicznie.

Na przykład, któregoś dnia pomagałem klientce - pobrała Internet Explorera, ale IE ciągle się zawiesza , bez większych błędów. Zrobiliśmy najwięcej podstawowe rozwiązywanie problemów tak jak wyłączenie dodatków i pasków narzędzi, resetowanie IE do ustawień domyślnych itp. Ale nadal się zawieszał. Oznaczało to, że przyczyną problemu był jeden lub więcej plików wymaganych do prawidłowego działania programu Internet Explorer. Takie przypadki są zawsze trudne do rozwiązania, ale dzięki Dependency Walker możemy sprawdzić, czy coś jest nie tak z jednym z zależnych plików.



Pobrałem więc Internet Explorera w Dependency Walker.

obraz

Następnie rozszerzyłem listę jeden po drugim

obraz

odinstaluj zadanie klienta smb1

Następnie przejrzałem każdy z modułów, aby sprawdzić, czy mogę znaleźć coś podejrzanego. Przejrzałem moduł i na szczęście znalazłem problem.

obraz

Zauważyłem, że brakuje pliku IEFRAME.dll. Poszedłem i zastąpiłem plik z instalacyjnego dysku DVD systemu Windows. To rozwiązało problem. Teraz Internet Explorer już się nie zawiesił.

Mam nadzieję, że to pokazuje, jak łatwo jest użyć tego narzędzia do znalezienia możliwych błędów zależności.

Jak korzystać z Dependency Walker w systemach Windows

Aby użyć Dependency Walker do zbadania błędów, możesz wykonać następujące kroki:

  1. Uruchom Walker zależności
  2. Kliknij Otwórz w menu Plik, aby pobrać problematyczny plik.
  3. W menu Widok kliknij opcję Rozpocznij profilowanie. Pojawi się okno dialogowe modułu profilu.
  4. Wprowadź dowolne przełączniki, argumenty programu i inne wymagane opcje, a następnie kliknij przycisk OK.

Dependency Walker wstrzyknie plik dwinject.dll przed wystąpieniem błędu i zarejestruje zdarzenia, które wystąpiły w momencie wystąpienia błędu.

Wersja Dependency Walker

Pobierz PC Repair Tool, aby szybko znaleźć i automatycznie naprawić błędy systemu Windows

Możesz pobrać Dependency Walker z Tutaj .

Popularne Wiadomości