2012-01-12 10 views
14

Pod Windows 7 x64, gdy próbuję profilu jest x86 wykonywalny z najnowszej wersji Dependency Walker (2.2.6000) proces profilowania zawsze wisi przy A pewien punkt. W większości przypadków ostatnia załadowana biblioteka DLL to c:\windows\syswow64\URLMON.DLL, więc wydaje się, że coś w tej bibliotece DLL powoduje problem. Profilowanie tego samego pliku wykonywalnego w systemie Windows 7 x86 działa bezbłędnie.Profilowanie x86 wykonywalny z Dependency Walker wisi na Windows 7 x64

Mam google dość szeroko, ale nie mogłem wymyślić rozwiązania problemu. Jedną z sugestii, którą znalazłem, było odinstalowanie IE 8 lub IE 9 i zastąpienie go IE 7, ale to naprawdę nie pomaga. Jedyny efekt, jaki mogę zaobserwować, to to, że w IE 7 proces profilowania zawiesza się przy innej bibliotece DLL (iertutil.dll, jeśli dobrze pamiętam, również z folderu systemu syswow64).

Moje pytanie brzmi: w jaki sposób mogę uzyskać Dependency Walker do profilowania aplikacji x86 na x64 Windows 7? Oczywiście, byłoby również miło wiedzieć, dlaczego istnieje problem w pierwszej kolejności :-)

niektóre końcowe Uwagi:

  • używam wersji x86 Dependency Walker bo chcę profil x86 wykonywalny
  • Running Dependency Walker jako administrator nie pomaga
  • Wszystkie opcje profilowania oznaczone jako „może zakończyć się niepowodzeniem na WOW64” są wyłączone
  • wykonywalny obecnie używam jako przypadek testowy do odtworzenia problemu jest Sumatra PDF przeglądarka (download link), ponieważ jest to prosty plik .exe, który nie wymaga instalacji
+0

Mam ten sam problem, gdy próbuję profilować program Excel zależy od 100% obciążenia procesora. Jestem na Windows 8.1 x64 profilowania Excel 2013 x86. Próbowałem obu zależność spacerem 2.2 od http://dependencywalker.com/ i od WDK 8.1 – Damian

Odpowiedz

2

Wystąpił ten sam problem i odkryłem, że został on naprawiony w najnowszej wersji Dependency Walker. Porównałem 2.2.6000 i 2.2.8288, a problem istnieje w pierwszym, ale nie drugim. Jednak prawdopodobnie będziesz musiał poczekać, aż WDK Windows 8 zostanie udostępniony publicznie, aby uzyskać najnowszą wersję.

+0

Dziękuję za informacje. Przyjmuję tę odpowiedź, gdy tylko będę mógł wziąć w swoje ręce publiczne wydanie nowego Dependency Walker i potwierdzić twoją obserwację. – herzbube

+0

Spróbuj go pobrać stąd: http://msdn.microsoft.com/en-us/windows/hardware/hh852362 – anonymous

+7

Czy ktoś był w stanie znaleźć jeszcze nowszą wersję Dependency Walker? Wygląda na to, że nie ma go w bieżącej WDK ani SDK. – RobinDunn

12

Aktualizacja instrukcji na podstawie uwag @Stone Wolnego

Link do pobrania musisz się zmieniło do:

https://msdn.microsoft.com/en-us/windows/hardware/hh852365.aspx

lub

https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit

zejść do 2. Zainstalować WDK 10 sekcję i wybierz pobrany plik:

odnaleźć i uruchomić setup WDK (wdksetup.exe) z etapu 2, a następnie wybierz opcję pobierania zamiast instalować.

Po zakończeniu zlokalizuj i uruchom DownloadLocation \ Windows Kits \ 10 \ WDK \ Installers> "Windows Driver Kit-x86_pl-us.msi”

Wtedy znajdziesz Dependency Walker na:

  • C: \ Program Files (x86) \ Windows \ 10 Kits \ Tools \ x64 \ Depends.exe dla 64 bitowej wersji
  • C: Program Files \ (x86) \ Windows \ 10 Kits \ Tools \ x86 \ Depends.exe dla 32 bitowej wersji

Która jest Dependency Walker wersja 2.2.10011 zbudowany 2015-10-29 x86 version

poręczne narzędzie jest użycie https://github.com/juntalis/depends-launcher który jest prosty launcher dla Dependency Walker, który określa platformy (x86 | x64 | ia64) danego okna obrazu (DLL, EXE itp) i uruchamia odpowiednią wersję Depends .exe, aby zobaczyć jego zależności. Jego głównym celem jest użycie w pozycji menu kontekstowego do łatwego przeglądania zależności obrazu.

+1

Zastanawiam się, dlaczego programista nie aktualizuje swojej własnej witryny. Nie sądzę, bym dostał nową wersję, gdyby nie ten komentarz i wyszukiwanie w Google. – Sossenbinder

+0

Na dzień 26 października 2016 r. Powyższa procedura nie instaluje pliku depends.exe; Narzędzia \ x64 i Narzędzia \ x86 są tworzone, ale żadna z nich nie zawiera pliku depends.exe :-( – JonP

+2

Ponieważ WDK 10 nie zawiera modułu zależności, pobrałem ** aktualizację WDK 8.1 (dla sterowników Windows 8.1, 8 i 7) **, które znajdziecie poniżej tych samych adresów URL podanych przez Sam. Ten plik zawiera plik depends.exe (wersja 9600) i, przynajmniej dla mnie, rozwiązuje problem zawieszania zgłaszany przez OP. BTW wersja, którą można pobrać z www.dependencywalker.com jest starożytny (wersja 6000) – JonP

Powiązane problemy