Windows

Dependency Walker - Jak používat - výuka

Analyzing Dependencies with Dependency Walker

Analyzing Dependencies with Dependency Walker

Obsah:

Anonim

Někdy normální kroky pro odstraňování potíží prostě neříznou. Možná budeme muset jít dál a dál - spíše jako soudní řešení problémů. Dnes budu psát o nástroji, který nám to pomůže. Dependency Walker je nástroj pro analýzu závislosti aplikací Windows, jako jsou funkce, moduly apod. Vytváří hierarchický strom všech modulů exe, dll, sys atd.

Dependency Walker

Dependency Walker vám pomůže při řešení problémů s chybami v aplikaci, chybami při registraci souborů, porušením přístupu k paměti a neplatnými chybami stránek.

Závislost Walker je obzvláště užitečná, pokud se váš specifický program nevkládá nebo služba selhává Začněte s chybou směřující na konkrétní dll. V takových případech můžete načíst program nebo dll v Dependency Walker, zjistit, který soubor se nezdařilo nebo který modul způsobuje problém - a pak jej opravit.

Program nejen načte moduly, ale také skenuje potenciální chyby. Podle souboru nápovědy provádí následující úlohy:

  • Detekuje chybějící soubory. Jedná se o soubory, které jsou vyžadovány jako závislost na jiném modulu. Příznakem tohoto problému je "Chyba dynamické propojení knihovny BAR.DLL nebyla nalezena v zadané cestě …"
  • Detekuje neplatné soubory. To zahrnuje soubory, které nejsou kompatibilní s Win32 nebo Win64 a soubory jsou poškozené. Příznakem tohoto problému je chyba "Aplikace nebo DLL BAR.EXE není platný obrázek systému Windows"
  • Detekuje nesoulad import / export. Ověřuje, zda jsou všechny funkce importované modulem skutečně exportovány ze závislých modulů. Všechny nevyřešené funkce importu jsou označeny chybou. Příznakem tohoto problému je "Vstupní bod procedury FOO nemohl být umístěn v knihovně dynamické knihovny BAR.DLL".
  • Detekuje chyby v kruhové závislosti. Jedná se o velmi vzácnou chybu, ale může se vyskytnout při předávaných funkcích.
  • Detekuje nesprávné typy modulů CPU. K tomu dojde, pokud se modul vytvořený pro jeden procesor pokusí načíst modul postavený pro jiný procesor.
  • Detekuje nesrovnalosti kontrolního součtu ověřením kontrolních součtů modulů, aby zjistili, zda byly moduly po jejich sestavení modifikovány. zvýraznění všech modulů, které se nepodaří načíst na jejich přednostní adresu
  • Detekuje selhání inicializace modulů sledováním hovorů do vstupních bodů modulu a hledáním chyb
  • Dependency Walker může také provést profil běhu vaší aplikace pro detekci dynamicky načtené moduly a selhání inicializace modulu. Stejná kontrola chyb z výše uvedeného platí také pro dynamicky načtené moduly.
  • Například jsem klientovi pomáhal druhý den - načítala aplikaci Internet Explorer, ale IE se neustále zhroutila bez konkrétních chyb. Udělali jsme většinu základních řešení problémů, jako je zakázání doplňků a panelů nástrojů, resetování IE na výchozí nastavení apod. Přesto to stále selhalo. To znamenalo, že jeden nebo více souborů potřebných k správnému fungování aplikace Internet Explorer způsobovalo problém. Vždycky je těžké tyto případy vyřešit, ale s Dependency Walker, můžeme vidět, jestli něco není v pořádku s jedním ze závislých souborů

Takže jsem načtl Internet Explorer v Dependency Walker

I další rozbalil seznam jeden po druhém

Pak jsem prošel všemi moduly, abych zjistil, jestli tam najdu něco podezřelého. Prošel jsem modulem a měl to štěstí, že jsem zjistil problém.

Zjistil jsem, že soubor IEFRAME.dll chybí. Tak jsem šel a nahradil soubor z instalačního DVD systému Windows. To problém vyřešilo. Nyní přestane havarovat Internet Explorer

Doufám, že vám to řekne, jak snadné je použít nástroj k zjištění možných chyb závislostí

Jak používat Dependency Walker

Chcete-li zjistit chyby pomocí Dependency Walker, postupujte takto:

Spustit závislost Walker

  1. V nabídce soubor klepněte na tlačítko Otevřít v nabídce Soubor, klepněte na tlačítko Zahájit profilování. Zobrazí se dialogové okno Modul profilu
  2. Zadejte libovolné přepínače, parametry programu, další požadované možnosti a potom klepněte na tlačítko OK.
  3. Dependency Walker provede před doručením chyby dwinject.dll a zaznamená události probíhající v době
  4. Dependency Walker stáhnout

Zde můžete stáhnout Dependency Walker z