Dažreiz parastās problēmu novēršanas darbības vienkārši nenoņems to. Iespējams, mums vajadzēs iet uz priekšu un tālāk - vairāk kā kriminālistikas problēmu novēršana. Šodien es uzrakstīšu par instrumentu, kas mums palīdzēs to izdarīt. Atkarība Walker ir līdzeklis, lai analizētu Windows lietojumprogrammas atkarības, piemēram, funkcijas, moduļus uc Tā izveido hierarhisku visu exe, dll, sys un citu atkarīgo moduļu koku.
Atkarība Walker
Atkarība Walker var palīdzēt jums novērst lietojumprogrammu kļūdas, failu reģistrācijas kļūdas, atmiņas piekļuves pārkāpumus un nederīgus lapas kļūdas.
Programma ne tikai ielādē moduļus, bet arī skenē iespējamās kļūdas. Saskaņā ar palīdzības failu tas veic šādus darbus:
- Atklāj trūkstošos failus. Tie ir faili, kas nepieciešami kā atkarība no cita moduļa. Šīs problēmas simptoms ir "Dinamiskās saites bibliotēka BAR.DLL nevarēja atrast noteiktā ceļā …" kļūda.
- Atklāj nederīgus failus. Tas ietver failus, kas nav Win32 vai Win64 saderīgi, kā arī failus, kas ir bojāti. Šīs problēmas simptoms ir "Programma vai DLL BAR.EXE nav derīga Windows attēla" kļūda.
- Atklāj importa / eksporta neatbilstības. Pārbauda, vai visas funkcijas, ko importē modulis, tiek faktiski eksportēti no atkarīgajiem moduļiem. Visas neatrisinātās importa funkcijas tiek atzīmētas ar kļūdu. Šīs problēmas simptoms ir "Procedūras ieejas punkts FOO nevar atrasties dinamiskās saites bibliotēkā BAR.DLL" kļūda.
- Atklāj apļveida atkarības kļūdas. Šī ir ļoti reta kļūda, bet tā var rasties ar pārsūtītajām funkcijām.
- Atklāj neatbilstīgus CPU moduļu tipus. Tas notiek, ja moduram, kas izveidots vienam CPU, tiek mēģināts ielādēt citu CPU moduļu.
- Atklāj kontrolsummas pretrunas, pārbaudot moduļu kontrolsummas, lai noskaidrotu, vai moduļi pēc to izveides ir pārveidoti.
- Atklāj moduļu sadursmes, izceļot visus moduļus, kas nav ielādēti to vēlamajā pamatlapā.
- Atklāj moduļa inicializācijas kļūmes, izsekojot izsaukumus uz moduļa ieejas punktiem un meklējot kļūdas.
- Atkarība no Walker var arī izpildīt sava lietojumprogrammas izpildes laika profilu, lai noteiktu dinamiski ielādes moduļus un moduļu inicializācijas kļūmes. Tāda pati kļūdu pārbaude no augšas attiecas arī uz dinamiski ielādētiem moduļiem.
Piemēram, man palīdzēja klientam nākamajā dienā - viņa ielādēja pārlūkprogrammu Internet Explorer, taču IE neveiksmīgi nokrita bez jebkādām īpašām kļūdām. Mēs pabeidzim lielāko daļu pamata problēmu novēršanas, piemēram, atspējošanas pievienojumprogrammas un rīkjoslas, atiestatot IE uz noklusējuma iestatījumu u.t., taču tā joprojām saglabāja crashing. Tas nozīmēja, ka viens vai vairāki faili, kas nepieciešami, lai pārlūkprogramma Internet Explorer varētu pareizi darboties, izraisīja problēmu. Vienmēr ir grūti novērst šādus gadījumus, bet ar Dependency Walker, mēs varam redzēt, vai kaut kas nav kārtībā ar kādu no atkarīgajiem failiem.
Tāpēc es ielādēju Internet Explorer Dependency Walker.
Es ceru, ka tas jums pateiks, cik viegli ir izmantot rīku, lai noskaidrotu iespējamās atkarības kļūdas.
Kā lietot Dependency Walker
Lai izmantotu Dependency Walker, lai izmeklētu kļūdas, varat veikt šādas darbības:
- Sāciet atkarību Walker
- Noklikšķiniet uz Atvērt izvēlnē Fails, lai ielādētu problēmas failu
- Izvēlnē Skats noklikšķiniet uz Sākt profilēšanu. Tiek parādīts dialoglodziņš Profila modulis
- Ievadiet visus slēdžus, programmu argumentus, citas opcijas, kuras vēlaties, un pēc tam noklikšķiniet uz Labi.
Atkarība no Walker injicēs dwinject.dll pirms kļūda rodas un reģistrēs notikumus, kas notiek kļūdas laikā.
Atkarība Walker lejupielāde
Jūs varat lejupielādēt Dependency Walker no šeit.