Windows

Dependency Walker - Paano gamitin - Tutorial

Analyzing Dependencies with Dependency Walker

Analyzing Dependencies with Dependency Walker

Talaan ng mga Nilalaman:

Anonim

Minsan ang mga normal na hakbang sa pag-troubleshoot ay hindi na ito hahawakan. Maaaring kailanganin nating pumunta sa itaas at higit pa - mas katulad ng pag-troubleshoot ng forensic. Ngayon ay isusulat ko ang tungkol sa isang kasangkapan na tutulong sa amin sa paggawa nito. Dependency Walker ay isang kasangkapan upang pag-aralan ang mga dependency ng isang function na Windows, tulad ng mga function, module, atbp. Nagtatayo ito ng isang hierarchical tree ng lahat ng mga dependent module ng exe, dll, sys, atbp

Ang Dependency Walker

Dependency Walker ay maaaring makatulong sa iyo sa pag-troubleshoot ng mga error sa aplikasyon, mga error sa pagpaparehistro ng file, mga paglabag sa pag-access ng memory at mga hindi wastong mga pagkakamali ng pahina.

Dependency Walker ay lalong nakakatulong kung ang isang partikular na programa ng sa iyo ay hindi naglo-load, o ang serbisyo ay hindi upang magsimula sa isang error na tumuturo sa isang partikular na dll. Sa ganitong mga kaso maaari mong i-load ang program o dll sa Dependency Walker, upang makita kung alin ang file ay hindi na-load o kung ano ang module ay nagiging sanhi ng problema - at pagkatapos ay ayusin ito.

Ang programa ay hindi lamang load ang mga module, ngunit ito rin Sinusuri ang mga potensyal na pagkakamali. Ayon sa Help file, ginagawa nito ang mga sumusunod na trabaho:

  • Nakikita ng mga nawawalang file. Ang mga ito ay mga file na kinakailangan bilang isang dependency sa isa pang module. Ang isang sintomas ng problemang ito ay ang "Ang dynamic na link library na BAR.DLL ay hindi natagpuan sa tinukoy na landas …" error.
  • Nakikita ng mga hindi wastong File. Kabilang dito ang mga file na hindi sumusunod sa Win32 o Win64 at mga file na sira. Ang isang sintomas ng problemang ito ay ang "Ang application o DLL BAR.EXE ay hindi isang wastong Windows image" error.
  • Nakikita ng mga mismatch na import / export. Pinapatunayan na ang lahat ng mga function na na-import ng isang module ay talagang na-export mula sa mga module ng umaasa. Na-flag na may error ang lahat ng hindi naaangkop na pag-andar sa pag-import. Ang isang sintomas ng problemang ito ay ang "Ang entry point na pamamaraan ay hindi maaaring mapunta sa error sa dynamic na library ng BAR.DLL".
  • Nakikita ng mga error sa circular dependency. Ito ay isang napaka-bihirang error, ngunit maaaring mangyari sa mga forwarded function.
  • Nakikita ng mga mismatched CPU uri ng mga module. Ito ay nangyayari kung ang isang module na binuo para sa isang CPU ay sumusubok na mag-load ng isang module na binuo para sa isang iba`t ibang mga CPU.
  • Nakikita ng mga inconsistencies ng checksum sa pamamagitan ng pag-verify ng mga checksum ng module upang makita kung may anumang mga module na na-modify matapos na ito ay binuo.
  • Nakikita ng mga pagkabigo sa pag-initialize ng module sa pamamagitan ng pagsubaybay sa mga tawag sa module entry point at naghahanap ng mga error.
  • Dependency Walker ay maaari ring magsagawa ng run-time na profile ng iyong application upang matuklasan dynamic na load modules at module initialization failure. Ang parehong pag-check ng error mula sa itaas ay naaangkop sa dinamiko-load na mga module pati na rin.
  • Halimbawa, tinutulungan ko ang isang kliyente sa ibang araw - siya ay naglo-load ng Internet Explorer, ngunit ang IE ay nag-crash, nang walang anumang mga tiyak na error. Ginawa namin ang karamihan sa mga pangunahing pag-troubleshoot tulad ng hindi pagpapagana ng mga add-on at toolbar, pag-reset ng IE sa default na setting atbpNgunit pa rin ito pinananatiling pag-crash. Ito ay nangangahulugan na ang isa o higit pang mga file na kinakailangan para sa Internet Explorer upang tumakbo ng maayos, ay ang paglikha ng isang problema.

    Ito ay palaging mahirap na i-troubleshoot ang mga ganitong kaso ngunit sa Dependency Walker, maaari naming makita kung may mali sa isa sa nakadepende na file.

Pagkatapos ay nagpunta ako sa bawat isa sa mga module, upang makita kung makakakita ako ng isang bagay na kahina-hinalang doon. Ako ay nag-scroll sa pamamagitan ng module at sapat na masuwerteng upang mahanap ang problema.

Natagpuan ko na ang IEFRAME.dll file ay nawawala. Kaya nagpunta ako at pinalitan ang file mula sa Windows Installation DVD. Na nalutas ang problema. Ngayon ang Internet Explorer ay hindi na nag-crash.

Umaasa ako na sasabihin nito sa iyo kung gaano kadali gamitin ang tool upang malaman ang posibleng mga error ng dependency

Paano gamitin ang Dependency Walker

Upang gamitin ang Dependency Walker upang imbestigahan ang mga error, maaari mong sundin ang mga hakbang na ito:

Start Dependency Walker

I-click ang Buksan sa menu ng File upang i-load ang problema file

click ang Start profiling. Ang dialog box ng Profile Module ay lilitaw

  1. I-type ang anumang switch, argumento ng programa, iba pang mga opsyon na gusto mo at pagkatapos ay i-click ang OK.
  2. Dependency Walker ay mag-iniksyon ng dwinject.dll bago maganap ang error at mag-log ng mga pangyayari na nagaganap sa oras ng ang error.
  3. Dependency Walker download
  4. Maaari mong i-download ang Dependency Walker mula

dito.