Mga tool sa pag-debug para sa paggamit ng mga bintana. Pag-install at pag-configure ng WinDBG para sa pagsusuri ng mga memory dump. Mga Uri ng Windows Crash Dumps

Ang mga ganitong uri ng pag-crash ay karaniwang nauugnay sa isang may sira na driver, na maaaring mahirap matukoy. Gayunpaman, ang pinahusay na sistema ng pagsubaybay sa error sa Windows Vista (at hindi lamang Vista!) ay kadalasang maaaring maghatid sa iyo sa problemang file. Bilang resulta, karamihan sa mga tao ay tumitigil sa pagsisikap na magtrabaho sa isang hindi matatag na computer, na nagse-save ng mga dokumento nang may paranoid na regularidad at umaasa sa pinakamahusay.

Kapag nag-crash ang Windows, kadalasang nagagawa ang tinatawag na "memory dump". Ang huli ay maaaring imbestigahan gamit ang libreng Windows Debugging Tools, na maaaring ituro sa iyo ang pinagmulan ng problema. Samakatuwid, ang kailangan mo lang gawin ay:

I-download ang iyong sarili ng isang tool sa pag-debug

Maaari mong i-download ang Windows Debugging Tools nang direkta mula sa website ng Microsoft. Gumagana ang program sa iba't ibang operating system, mula sa Windows NT 4 hanggang Windows 2008, kaya hindi ka dapat magkaroon ng anumang problema dito. Oo, hindi namin masasabi na ito ay matatag sa ilalim ng Windows 7 RC, ngunit ayon sa aming mga pagsubok ay gumagana pa rin ito. Samakatuwid, kahit na ang isang pagtatangka upang masuri ang problema sa ilalim ng Windows 7 RC ay maaaring maging matagumpay.

I-configure ang iyong system

Ito ay kinakailangan na sa panahon ng pagkabigo ang iyong computer ay lumilikha ng mga memory dump, na sa kalaunan ay magsisilbing isang mapagkukunan ng impormasyon para sa debugger. Samakatuwid, mahalaga na ang Windows ay na-configure upang makabuo ng mga dump. Upang i-configure ang iyong operating system, mag-right-click sa Iyong Computer at piliin ang Properties. Pagkatapos ay mag-click sa tab na Advanced na System Settings, hanapin ang subsection ng Startup and Recovery Settings at tiyaking nakatakda ang Write debugging information option sa Kernel memory dump ) o Complete memory dump.

Susunod, i-click ang Start, pumunta sa All Programs, piliin ang Debugging Tools at ilunsad ang WinDbg. Sa programa, pumunta sa menu ng File at piliin ang Symbol File Path... Pagkatapos ay isulat ang sumusunod na linya sa window na bubukas:

SRV*c:\symbols*http://msdl.microsoft.com/download/symbols

Tinutukoy ng huli ang landas patungo sa espesyal na data - ang tinatawag na "mga simbolo", na makakatulong sa tool sa pag-debug na matukoy ang iyong may sira na file.

Matapos ipasok ang linya, mag-click sa pindutan ng OK. Sa paglaon, kapag nagtatrabaho sa debugger, ang linyang ito ay magiging sanhi ng pag-download ng mga simbolo mula sa msdl.microsoft.com at i-save sa c:\symbols folder.

Lutasin ang iyong problema

Ngayon maghintay para sa susunod na blue screen failure at ang kasunod na pagkumpleto ng pag-reboot ng computer. Pagkatapos ay ilunsad muli ang WinDbg (Kailangan ng mga user ng Vista na patakbuhin ang programa bilang administrator), mag-click sa menu ng File, piliin ang Open Crash Dump, buksan ang \Windows\MEMORY.DMP file, at agad na sisimulan ng programa ang pagsusuri nito.

Sa kasamaang palad, ang WinDbg ay nagbibigay ng napakakaunting impormasyon tungkol sa kung ano ang ginagawa nito, kaya maaari mong isipin na ang programa ay nagyelo. Gayunpaman, maghintay. Unawain na ang pagsusuri, halimbawa, ang 4GB ng memorya sa isang hindi masyadong malakas na computer ay maaaring tumagal ng ilang oras, hanggang sa mga oras. Samakatuwid, maging matiyaga, o mas mabuting iwanan ang pagsusuri nang magdamag.

Gayunpaman, kadalasan ang resulta ay nakuha sa loob ng ilang minuto. Ito ay pinatunayan ng linya ng error analyzer ng Bugcheck Analysis, na nag-uulat ng isang bagay tulad ng "Marahil ay sanhi ng: UACReplace.sys". Isinalin sa Russian, nangangahulugan ito na ang problema ay maaaring sanhi ng UACReplace.sys file. Ipasok ito sa search bar, halimbawa, Google at malalaman mo ang tunay na pinagmulan nito. Sa partikular, kung ito ay kabilang sa isa sa mga program na iyong na-install o ang driver na iyong na-install, pagkatapos ay maaari mo lamang subukang i-update ito o siya. Marahil ay malulutas nito ang mga problemang nararanasan mo.

Dapat sabihin na paminsan-minsan ay hindi maaaring pangalanan ng WinDbg ang file o pinipili lamang ang isa sa mga Windows DLL. Kung nangyari ito sa iyo, i-click lang ang command window sa itaas ng status bar at i-type ang command:

Pagkatapos nito pindutin ang Enter. Magbibigay ito sa iyo ng mas detalyadong ulat, na maaaring naglalaman ng impormasyon tungkol sa mga posibleng dahilan ng iyong mga problema.

Kung malas ka sa pagkakataong ito, huwag mawalan ng pag-asa. Ang pag-debug ay medyo mahirap kahit para sa mga eksperto. Kaya isara lamang ang WinDbg at patakbuhin muli ang analyzer pagkatapos ng susunod na kabiguan. Marahil ito ay magbibigay sa iyo ng kaunti pang impormasyon. Good luck!

Kapag naganap ang isang kritikal na pagkabigo, nag-crash ang operating system ng Windows at nagpapakita ng Blue Screen of Death (BSOD). Ang mga nilalaman ng RAM at lahat ng impormasyon tungkol sa error na nangyayari ay nakasulat sa paging file. Sa susunod na mag-boot ka ng Windows, isang crash dump ang gagawin gamit ang impormasyon sa pag-debug batay sa naka-save na data. Ang isang kritikal na entry ng error ay nilikha sa log ng kaganapan ng system.

Pansin! Ang isang crash dump ay hindi nagagawa kung ang disk subsystem ay nabigo o ang isang kritikal na error ay nangyari sa panahon ng unang yugto ng Windows boot.

Mga Uri ng Windows Crash Dumps

Gamit ang kasalukuyang operating system na Windows 10 (Windows Server 2016) bilang halimbawa, tingnan natin ang mga pangunahing uri ng memory dump na maaaring gawin ng system:

  • Mini memory dump(256 KB). Ang uri ng file na ito ay naglalaman ng kaunting impormasyon. Naglalaman lamang ito ng mensahe ng error sa BSOD, impormasyon tungkol sa mga driver, ang mga prosesong aktibo sa oras ng pag-crash, at kung aling proseso o kernel thread ang naging sanhi ng pag-crash.
  • Kernel memory dump. Karaniwang maliit ang laki—isang-katlo ng laki ng pisikal na memorya. Ang isang kernel memory dump ay mas detalyado kaysa sa isang mini dump. Naglalaman ito ng impormasyon tungkol sa mga driver at kernel-mode program, kasama ang memorya na inilaan sa Windows kernel at ang hardware abstraction layer (HAL), at memorya na inilaan sa mga driver at iba pang kernel-mode program.
  • Kumpletuhin ang memory dump. Ang pinakamalaki sa laki at nangangailangan ng memory na katumbas ng RAM ng iyong system kasama ang 1MB na kinakailangan ng Windows upang gawin ang file na ito.
  • Awtomatikong memory dump. Tumutugma sa isang kernel memory dump sa mga tuntunin ng impormasyon. Ang pagkakaiba lang ay kung gaano karaming espasyo ang ginagamit nito upang gawin ang dump file. Ang uri ng file na ito ay hindi umiiral sa Windows 7. Idinagdag ito sa Windows 8.
  • Aktibong memory dump. Ang ganitong uri ay nag-aalis ng mga elemento na hindi matukoy ang sanhi ng pagkabigo ng system. Idinagdag ito sa Windows 10 at lalong kapaki-pakinabang kung gumagamit ka ng virtual machine, o kung ang iyong system ay isang Hyper-V host.

Paano paganahin ang memory dumping sa Windows?

Gamit ang Win+Pause, buksan ang window ng mga setting ng system, piliin ang " Mga Advanced na Setting ng System"(Mga advanced na setting ng system). sa " Bukod pa rito" (Advanced), seksyon "" (Startup at Recovery) i-click ang pindutan " Mga pagpipilian"(Mga Setting). Sa window na bubukas, i-configure ang mga aksyon na gagawin kapag nabigo ang system. Suriin ang " Mag-log ng mga kaganapan sa log ng system" (Sumulat ng kaganapan sa log ng system), piliin ang uri ng dump na dapat gawin kapag nag-crash ang system. Kung nasa checkbox " Palitan ang kasalukuyang dump file"(I-overwrite ang anumang umiiral na file) lagyan ng tsek ang kahon, ang file ay mapapatungan sa tuwing may pagkabigo. Mas mainam na alisan ng check ang kahon na ito, pagkatapos ay magkakaroon ka ng higit pang impormasyon para sa pagsusuri. I-disable din ang Awtomatikong i-restart.

Sa karamihan ng mga kaso, ang isang maliit na memory dump ay sapat na upang pag-aralan ang sanhi ng BSOD.

Ngayon, kapag may nangyaring BSOD, maaari mong pag-aralan ang dump file at hanapin ang sanhi ng pagkabigo. Ang mini dump ay naka-save sa %systemroot%\minidump folder bilang default. Upang pag-aralan ang dump file, inirerekumenda ko ang paggamit ng program WinDBG(Microsoft Kernel Debugger).

Pag-install ng WinDBG sa Windows

Utility WinDBG kasama sa " Windows 10 SDK"(Windows 10 SDK). .

Ang file ay tinatawag na winsdksetup.exe, laki 1.3 MB.

Patakbuhin ang pag-install at piliin kung ano ang eksaktong gusto mong gawin - i-install ang package sa computer na ito o i-download ito para sa pag-install sa ibang mga computer. I-install natin ang package sa lokal na computer.

Maaari mong i-install ang buong package, ngunit upang i-install lamang ang debugging tool, piliin Mga Tool sa Pag-debug para sa Windows.

Pagkatapos ng pag-install, ang mga shortcut ng WinDBG ay makikita sa start menu.

Pagse-set up ng pag-uugnay ng mga .dmp file sa WinDBG

Upang buksan ang mga dump file sa isang simpleng pag-click, imapa ang .dmp extension sa WinDBG utility.

  1. Magbukas ng command prompt bilang administrator at patakbuhin ang mga command para sa isang 64-bit system: cd C:\Program Files (x86)\Windows Kits\10\Debuggers\x64
    windbg.exe –IA
    para sa 32-bit system:
    C:\Program Files (x86)\Windows Kits\10\Debuggers\x86
    windbg.exe –IA
  2. Bilang resulta, ang mga uri ng file: .DMP, .HDMP, .MDMP, .KDMP, .WEW ay imamapa sa WinDBG.

Pagse-set up ng server ng simbolo ng pag-debug sa WinDBG

Ang mga simbolo ng pag-debug (mga simbolo ng pag-debug o mga file ng simbolo) ay mga bloke ng data na nabuo sa panahon ng pagsasama-sama ng isang programa kasama ng executable na file. Ang mga naturang data block ay naglalaman ng impormasyon tungkol sa mga variable na pangalan, tinatawag na function, library, atbp. Ang data na ito ay hindi kailangan kapag nagpapatupad ng programa, ngunit ito ay kapaki-pakinabang kapag nagde-debug ito. Ang mga bahagi ng Microsoft ay pinagsama-sama sa mga simbolo na ipinamahagi sa pamamagitan ng Microsoft Symbol Server.

I-configure ang WinDBG para gamitin ang Microsoft Symbol Server:

  • Buksan ang WinDBG;
  • Pumunta sa menu file –> Symbol File Path;
  • Sumulat ng isang linya na naglalaman ng URL para sa pag-download ng mga simbolo ng pag-debug mula sa website ng Microsoft at ang folder para sa pag-save ng cache: SRV*E:\Sym_WinDBG*http://msdl.microsoft.com/download/symbols Sa halimbawa, ang cache ay na-download sa E:\Sym_WinDBG folder, maaari mong ipahiwatig ang anuman.
  • Huwag kalimutang i-save ang mga pagbabago sa menu file–>I-save ang WorkSpace;

Ang WinDBG ay maghahanap ng mga simbolo sa lokal na folder at, kung hindi nito mahanap ang mga kinakailangang simbolo sa loob nito, awtomatiko nitong ida-download ang mga simbolo mula sa tinukoy na site. Kung gusto mong magdagdag ng sarili mong folder ng mga simbolo, magagawa mo ito tulad nito:

SRV*E:\Sym_WinDBG*http://msdl.microsoft.com/download/symbols;c:\Symbols

Kung wala kang koneksyon sa Internet, i-download muna ang package ng simbolo mula sa mapagkukunan ng Windows Symbol Packages.

Pagsusuri ng crash dump sa WinDBG

Binubuksan ng WinDBG debugger ang dump file at dina-download ang mga kinakailangang simbolo para sa pag-debug mula sa isang lokal na folder o mula sa Internet. Hindi mo magagamit ang WinDBG sa prosesong ito. Sa ibaba ng window (sa debugger command line) lalabas ang mensahe Hindi nakakonekta ang Debugee.

Ang mga utos ay ipinasok sa command line na matatagpuan sa ibaba ng window.

Ang pinakamahalagang bagay na dapat bigyang-pansin ay ang error code, na palaging nakasaad sa hexadecimal at may form 0xXXXXXXXXX(ipinahiwatig sa isa sa mga opsyon - STOP: , 07/02/2019 0008F, 0x8F). Sa aming halimbawa, ang error code ay 0x139.

Nag-aalok ang debugger na patakbuhin ang command!analyze -v, i-hover lang ang iyong mouse sa link at i-click. Para saan ang utos na ito?

  • Nagsasagawa ito ng paunang pagsusuri ng memory dump at nagbibigay ng detalyadong impormasyon upang simulan ang pagsusuri.
  • Ipapakita ng command na ito ang STOP code at simbolikong pangalan ng error.
  • Ipinapakita nito ang stack ng mga command call na humantong sa pag-crash.
  • Bilang karagdagan, ang mga IP address, proseso at mga pagkakamali sa pagrehistro ay ipinapakita dito.
  • Ang koponan ay maaaring magbigay ng mga handa na rekomendasyon upang malutas ang problema.

Ang mga pangunahing punto na dapat mong bigyang pansin kapag nagsusuri pagkatapos isagawa ang command!analyze –v (hindi kumpleto ang listahan).

1: kd> !analyse -v


* *
* Pagsusuri ng Bugcheck *
* *
*****************************************************************************
Simbolikong pangalan ng STOP error (BugCheck)
KERNEL_SECURITY_CHECK_FAILURE (139)
Paglalarawan ng error (Nasira ng isang kernel component ang isang kritikal na istruktura ng data. Ang katiwalian na ito ay posibleng magpapahintulot sa isang umaatake na makontrol ang makinang ito):

Ang isang bahagi ng kernel ay nasira ang isang kritikal na istraktura ng data. Ang katiwalian ay maaaring potensyal na payagan ang isang malisyosong gumagamit na makakuha ng kontrol sa makinang ito.
Mga argumento ng error:

Mga argumento:
Arg1: 00000000000000003, A LIST_ENTRY ang nasira (i.e. double remove).
Arg2: ffffd0003a20d5d0, Address ng trap frame para sa exception na naging sanhi ng bugcheck
Arg3: ffffd0003a20d528, Address ng exception record para sa exception na naging sanhi ng bugcheck
Arg4: 0000000000000000, Nakalaan
Mga Detalye ng Pag-debug:
------------------

Ipinapakita ng counter kung ilang beses nag-crash ang system na may katulad na error:

CUSTOMER_CRASH_COUNT: 1

DEFAULT_BUCKET_ID: FAIL_FAST_CORRUPT_LIST_ENTRY

STOP error code sa pinaikling format:

BUGCHECK_STR: 0x139

Ang proseso kung saan nangyari ang pagkabigo (hindi kinakailangang sanhi ng error, sa oras lang ng pagkabigo ay tumatakbo ang prosesong ito sa memorya):

PROCESS_NAME: sqlservr.exe

Paglalarawan ng Error Code: Natukoy ng system ang isang stack buffer overflow sa application na ito, na maaaring magpapahintulot sa isang attacker na kontrolin ang application na ito.

ERROR_CODE: (NTSTATUS) 0xc0000409 - Nakakita ang system ng overrun ng isang stack-based buffer sa application na ito. Ang pag-overrun na ito ay maaaring potensyal na payagan ang isang nakakahamak na user na makakuha ng kontrol sa application na ito.
EXCEPTION_CODE: (NTSTATUS) 0xc0000409 - Nakakita ang system ng overrun ng isang stack-based buffer sa application na ito. Ang pag-overrun na ito ay maaaring potensyal na payagan ang isang nakakahamak na user na makakuha ng kontrol sa application na ito.

Huling tawag sa stack:

LAST_CONTROL_TRANSFER: mula fffff8040117d6a9 hanggang fffff8040116b0a0

Call stack sa oras ng pagkabigo:

STACK_TEXT:
mga
ffffd000`3a20d2b0 fffff804`0117da50: ffffe000`f3ab9080 ffffe000`fc37e001 ffffd000`3a20d5d0 fffff804`0116e2a2: nt!KitchBug+0.
FFFD000`3A20D3F0 FFFFF804`0117C150: 0000000000 000000 000000 00000000 000000 00000000 000000`00000000000000000000000000
ffffd000`3a20d5d0 fffff804`01199482: ffffc000`701ba270 ffffc000`00000001 000000ea`73f68040 fffff804`000006Fail9:Security!
ffffd000`3a20d760 fffff804`014a455d: 00000000`00000001 ffffd000`3a20d941 ffffe000`fcacb000 ffffd000`3a20d951: nt! ?? ::FNODOBFM::`string"+0x17252
mga
ffffd000`3a20d990 fffff804`0117d313: ffffffff`ffffffffe 00000000`00000000 00000000`00000000 000000eb`a0cf1380+Nxt4:
ffffd000`3a20da90 00007ffb` 475307da: 00000000 13
000000ee`f25ed2b8 00000000`00000000: 00000000`00000000 00000000`00000000 00000000`00000000 `000000 0`000000 07da

Ang seksyon ng code kung saan nangyari ang error:

FOLLOWUP_IP:
nt!KiFastFailDispatch+d0
fffff804`0117da50 c644242000 mov byte ptr ,0
FAULT_INSTR_CODE: 202444c6
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: nt!KiFastFailDispatch+d0
FOLLOWUP_NAME: MachineOwner

Ang pangalan ng module sa kernel object table. Kung natukoy ng analyzer ang isang may problemang driver, ipapakita ang pangalan sa mga field ng MODULE_NAME at IMAGE_NAME:

MODULE_NAME:nt
IMAGE_NAME: ntkrnlmp.exe

1: kd> lmvm nt
I-browse ang buong listahan ng module
Na-load ang file ng imahe ng simbolo: ntkrnlmp.exe
Naka-map na memory image file: C:\ProgramData\dbg\sym\ntoskrnl.exe\5A9A2147787000\ntoskrnl.exe
Landas ng larawan: ntkrnlmp.exe
Pangalan ng larawan: ntkrnlmp.exe
Panloob na Pangalan: ntkrnlmp.exe
Orihinal na Pangalan ng File: ntkrnlmp.exe
Bersyon ng Produkto: 6.3.9600.18946
Bersyon ng File: 6.3.9600.18946 (winblue_ltsb_escrow.180302-1800)

Sa halimbawang ibinigay, itinuro ng pagsusuri ang kernel file na ntkrnlmp.exe. Kapag ang memory dump analysis ay tumuturo sa isang driver ng system (tulad ng win32k.sys) o isang kernel file (tulad ng sa aming halimbawa, ntkrnlmp.exe), malamang na hindi ang file na iyon ang sanhi ng problema. Kadalasan ay lumalabas na ang problema ay nasa driver ng device, mga setting ng BIOS o pagkabigo ng hardware.

Kung nakita mo na ang BSOD ay sanhi ng isang third-party na driver, ang pangalan nito ay ipahiwatig sa mga halaga ng MODULE_NAME at IMAGE_NAME.

Halimbawa:

Landas ng larawan: \SystemRoot\system32\drivers\cmudaxp.sys
Pangalan ng larawan: cmudaxp.sys

Buksan ang mga katangian ng file ng driver at suriin ang bersyon nito. Sa karamihan ng mga kaso, ang problema sa mga driver ay malulutas sa pamamagitan ng pag-update sa kanila.

Upang matukoy ang mga sanhi ng mga asul na screen (BSOD), kailangan mong pag-aralan ang memory dump. Sa karamihan ng mga kaso, sapat na ang isang minidump, na nilikha ng system sa kaso ng mga kritikal na error.
Ang artikulong ito ay naglalaman ng sunud-sunod na mga tagubilin para sa pag-install at pag-configure ng WinDBG, isang mahusay na tool sa pag-debug na nagbibigay-daan sa iyong matukoy ang tunay na dahilan ng isang BSOD.

Hakbang 1 - Pag-configure ng Maliit na Memory Dumps

Hakbang 2 - Pag-install ng WinDBG

Upang suriin ang mga memory dump, kakailanganin mong i-install ang WinDBG debugger, na kasama sa Windows SDK. Sa oras ng pagsulat, ang pinakabagong magagamit na mga bersyon ng Windows SDK ay:

  • Windows 10 SDK (pag-download ng installer ng network)
  • Windows 8.1 SDK (pag-download ng network installer)

Hakbang 3 - Pagma-map ng .dmp Files sa WinDBG

Upang gawing mas madali ang pagbabasa at pagsusuri ng mga memory dump, imapa ang mga .dmp file sa WinDBG. Papayagan ka nitong magbukas ng mga dump file mula sa Explorer nang direkta sa WinDBG nang hindi muna ito inilulunsad.


Hakbang 4 — Pag-set up ng isang server ng simbolo upang makatanggap ng mga file ng simbolo ng debug


Kumpleto na ang pag-install at paunang pagsasaayos ng WinDBG. Upang baguhin ang hitsura nito, maaari kang pumunta sa menu Tingnan- mahahanap mo ang mga setting ng font sa pamamagitan ng pagpili Font, at ang mga setting ng console window sa Mga pagpipilian.

Upang matukoy ang mga sanhi ng mga asul na screen (BSOD), kailangan mong pag-aralan ang memory dump. Sa karamihan ng mga kaso, sapat na ang isang minidump, na nilikha ng system sa kaso ng mga kritikal na error.
Ang artikulong ito ay naglalaman ng sunud-sunod na mga tagubilin para sa pag-install at pag-configure ng WinDBG, isang mahusay na tool sa pag-debug na nagbibigay-daan sa iyong matukoy ang tunay na dahilan ng isang BSOD.

Hakbang 1 - Pag-configure ng Maliit na Memory Dumps

Hakbang 2 - Pag-install ng WinDBG

Upang suriin ang mga memory dump, kakailanganin mong i-install ang WinDBG debugger, na kasama sa Windows SDK. Sa oras ng pagsulat, ang pinakabagong magagamit na mga bersyon ng Windows SDK ay:

  • Windows 10 SDK (pag-download ng installer ng network)
  • Windows 8.1 SDK (pag-download ng network installer)

Hakbang 3 - Pagma-map ng .dmp Files sa WinDBG

Upang gawing mas madali ang pagbabasa at pagsusuri ng mga memory dump, imapa ang mga .dmp file sa WinDBG. Papayagan ka nitong magbukas ng mga dump file mula sa Explorer nang direkta sa WinDBG nang hindi muna ito inilulunsad.


Hakbang 4 — Pag-set up ng isang server ng simbolo upang makatanggap ng mga file ng simbolo ng debug


Kumpleto na ang pag-install at paunang pagsasaayos ng WinDBG. Upang baguhin ang hitsura nito, maaari kang pumunta sa menu Tingnan- mahahanap mo ang mga setting ng font sa pamamagitan ng pagpili Font, at ang mga setting ng console window sa Mga pagpipilian.

Mga Tool sa Pag-debug para sa Windows- Mga tool para sa pag-debug ng code ng mga operating system ng Windows. Ang mga ito ay isang hanay ng mga malayang ipinamamahaging programa mula sa Microsoft na idinisenyo para sa pag-debug ng user mode at kernel mode code: mga application, driver, serbisyo, kernel modules. Kasama sa toolkit ang mga console at GUI mode debugger, mga utility para sa pagtatrabaho sa mga simbolo, file, proseso, at mga utility para sa malayuang pag-debug. Ang toolkit ay naglalaman ng mga kagamitan na maaaring magamit upang mahanap ang mga sanhi ng mga pagkabigo sa iba't ibang bahagi ng system. Mga Tool sa Pag-debug para sa Windows mula sa isang tiyak na punto pasulong ay hindi magagamit para sa pag-download sa anyo ng isang stand-alone na pamamahagi at bahagi ng Windows SDK (Windows Software Development Kit). Ang Windows SDK, sa turn, ay magagamit bilang bahagi ng MSDN subscription program o maaaring malayang ma-download bilang isang hiwalay na pamamahagi mula sa msdn.microsoft.com. Ayon sa mga developer, ang pinakabago at pinakabagong bersyon ng Debugging Tools para sa Windows ay nasa Windows SDK.

Ang Debugging Tools para sa Windows ay ina-update at ginagawang available sa publiko nang madalas at ang prosesong ito ay hindi nakadepende sa anumang paraan sa pagpapalabas ng mga operating system. Samakatuwid, suriin nang pana-panahon para sa mga bagong bersyon.

Tingnan natin ngayon kung ano, sa partikular, ang mga Debugging Tool para sa Microsoft Windows ay nagpapahintulot sa atin na gawin:

  • I-debug ang mga lokal na application, serbisyo, driver at kernel;
  • I-debug ang mga malayuang aplikasyon, serbisyo, driver at kernel sa network;
  • I-debug ang pagpapatakbo ng mga application sa real time;
  • Suriin ang memory dump file ng mga application, ang kernel at ang system sa kabuuan;
  • Makipagtulungan sa mga system batay sa x86/x64/Itanium architecture;
  • I-debug ang user mode at kernel mode program;

Available ang mga sumusunod na bersyon ng Debugging Tools para sa Windows: 32-bit x86, Intel Itanium, 64-bit x64. Kakailanganin namin ang dalawa sa kanila: x86 o x64.

Mayroong ilang mga paraan upang i-install ang Mga Debugging Tool para sa Windows sa artikulong ito ay isasaalang-alang lamang namin ang mga pangunahing:

  • Pag-install sa pamamagitan ng web installer.
  • Pag-install ng Debugging Tools para sa Windows mula sa Windows SDK ISO image.
  • Direktang pag-install ng Mga Debugging Tool para sa Windows mula sa dbg_amd64.msi / dbg_x86.msi packages.

Ito ay nananatiling hindi malinaw sa anong punto, bakit ako dapat mag-install ng mga tool sa pag-debug sa aking computer? Kadalasan ay nahaharap ka sa isang sitwasyon kung saan ang panghihimasok sa kapaligiran ng trabaho ay lubhang hindi kanais-nais! At higit pa rito, ang pag-install ng isang bagong produkto, iyon ay, ang paggawa ng mga pagbabago sa registry/system file, ay maaaring ganap na hindi katanggap-tanggap. Kasama sa mga halimbawa ang mga server na kritikal sa misyon. Bakit hindi isinasaalang-alang ng mga developer ang opsyon ng mga portable na bersyon ng mga application na hindi nangangailangan ng pag-install?
Mula sa bersyon hanggang sa bersyon, ang proseso ng pag-install ng Debugging Tools para sa Windows package ay sumasailalim sa ilang pagbabago. Direkta na tayong lumipat sa proseso ng pag-install at tingnan ang mga paraan kung paano mo mai-install ang toolkit.

Pag-install ng Mga Debugging Tool para sa Windows gamit ang web installer

Pumunta sa pahina ng Windows SDK Archive at maghanap ng seksyong tinatawag na Windows 10 at sa ibaba ng item na “Windows 10 SDK (10586) at device emulator na may Windows 10 Mobile (Microsoft) (bersyon 10586.11)”.

Mag-click sa item I-INSTALL ang SDK. Pagkatapos mag-click, i-download at patakbuhin ang file na sdksetup.exe, na nagpasimula ng online na proseso ng pag-install ng Windows SDK. Sa paunang yugto, susuriin ng installer kung ang pinakabagong bersyon ng .NET Framework package ay naka-install sa system (kasalukuyang 4.5). Kung nawawala ang package, iaalok ang pag-install at magre-reboot ang istasyon kapag nakumpleto na. Kaagad pagkatapos ng pag-reboot, sa yugto ng awtorisasyon ng user, magsisimula ang proseso ng pag-install ng Windows SDK mismo.

Kadalasan, kapag pinipili ang lahat ng mga bahagi ng isang pakete nang walang pagbubukod, maaaring mangyari ang mga error sa panahon ng proseso ng pag-install. Sa kasong ito, inirerekumenda na i-install ang mga bahagi nang pili, ang minimum na kinakailangang hanay.

Pagkatapos makumpleto ang pag-install ng Debugging Tools para sa Windows, ang lokasyon ng mga file sa pag-debug para sa paraan ng pag-install na ito ay ang mga sumusunod:

  • 64-bit na mga bersyon: C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x64
  • 32-bit na mga bersyon: C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x86

* kung saan ang x.x ay isang partikular na bersyon ng development kit;
Napansin mo ba na ang mga bersyon 8 at mas mataas, ang mga landas sa pag-install ay kapansin-pansing naiiba sa mga klasikong tool sa pag-debug para sa lahat ng nakaraang bersyon?

Ang isang malaking bentahe ng pamamaraang ito ng pag-install ng Debigging Tools para sa Windows ay ang pag-install ng mga bersyon ng mga tool sa pag-debug para sa lahat ng mga arkitektura nang sabay-sabay.

Pag-install ng Mga Debugging Tool para sa Windows mula sa Windows SDK ISO

Kasama sa pamamaraang ito ang pag-install ng Mga Debugging Tool para sa Windows gamit ang buong imahe ng pag-install ng Windows SDK (Software Developers Kit). Hanggang sa isang tiyak na oras, maaari kang mag-download ng ISO image para sa kaukulang system sa pahina ng Windows SDK Archive. Gayunpaman, sa ngayon, maaari kang makakuha ng ISO na imahe ng SDK sa pamamagitan ng pagpapatakbo ng web installer sdksetup.exe at pagpili I-download ang Windows Software Development Kit sa window ng pagsisimula ng installer:

Tulad ng nalaman namin, ang nakaraang paraan ng pag-install gamit ang isang web installer ay medyo pabagu-bago at kadalasang nagtatapos sa pagkakamali. Sa malinis na mga sistema ay nag-i-install ito nang walang mga problema, ngunit sa mga sapat na na-load na mga sistema maraming mga problema ang lumitaw. Kung ito ang iyong kaso, pagkatapos ay gamitin ang pamamaraang ito.

Alinsunod dito, sa pahina kailangan mong piliin ang kinakailangang pamamahagi, para sa akin (at sa tingin ko para sa marami) sa sandaling ito ay "Windows SDK para sa Windows 7 at .NET Framework 4" at sa ibaba lamang ay mag-click sa link na "Kumuha ng ISO larawan ng isang DVD” .

Kapag nagtatrabaho sa site na msdn.microsoft.com, ipinapayo ko sa iyo na gamitin ang browser ng Internet Explorer, dahil ang mga kaso ng inoperability ng mga nakikipagkumpitensyang produkto ay naobserbahan!

Alinsunod dito, kinakailangang pumili lamang ayon sa pangangailangan. Karaniwan, ang bitness ng Debugging Tools para sa Windows ay tumutugma sa bitness ng system. Ang aking mga system ay halos 64-bit, kaya sa karamihan ng mga kaso, dina-download ko ang imahe para sa isang 64-bit na system na GRMSDKX_EN_DVD.iso.
Pagkatapos, pagkatapos i-download ang imahe, kailangan naming kahit papaano ay gumana sa umiiral na imahe ng ISO. Ang tradisyunal na paraan ay, siyempre, upang magsunog ng CD, ngunit ito ay medyo mahaba at kung minsan ay mahal na paraan. Iminumungkahi ko ang paggamit ng mga libreng utility upang lumikha ng mga virtual disk device sa system. Sa personal, mas gusto kong gumamit ng DEAMON Tools Lite para sa layuning ito. Ang isang tao ay maaaring magkaroon ng iba pang mga kagustuhan, mas direkta o magaan na mga utility, depende sa panlasa at kulay, tulad ng sinasabi nila .. Pagkatapos i-install ang DAEMON Tools Lite, i-double click ko lang ang image file na GRMSDKX_EN_DVD.iso at isang bagong virtual ang lilitaw sa system CD:

Pagkatapos, sa pamamagitan ng pag-double click, ina-activate ko ang autoload at simulan ang pag-install ng Windows SDK:

Kapag oras na para pumili ng mga bahaging ii-install mula sa listahan, ganap naming idi-disable ang lahat ng opsyon maliban sa mga minarkahan sa screenshot. Makakatulong ito sa atin na maiwasan ang mga hindi kinakailangang pagkakamali ngayon.


Ang lahat ay eksakto tulad nito, sa screenshot mayroong dalawang mga pagpipilian na minarkahan: "Windows Performance Toolkit" at "Debugging Tools para sa Windows". Piliin ang pareho, dahil ang Windows Performance Toolkit ay tiyak na magiging kapaki-pakinabang sa iyong trabaho! Pagkatapos, pagkatapos i-click ang pindutang "Susunod", ang pag-install ay nagpapatuloy gaya ng dati. At sa dulo makikita mo ang inskripsyon na "Kumpleto ang Pag-install".
Sa pagkumpleto ng pag-install, ang gumaganang mga direktoryo ng Debugging Tools para sa Windows package ay magiging ganito:

  • Para sa bersyon ng x86:
  • Para sa bersyon ng x64:

Sa puntong ito, maaaring ituring na kumpleto ang pag-install ng Mga Debugging Tool para sa Windows.

Pag-install ng Debugging Tools para sa Windows sa pamamagitan ng .msi file

Kung may mga problemang lumitaw kapag nag-i-install ng Mga Debugging Tool para sa Windows gamit ang dalawang naunang pamamaraan, mayroon pa kaming isa pang stock, ang pinaka-maaasahan at nasubok sa oras, na sumagip, kumbaga, higit sa isang beses. Noong unang panahon, bago ang pagsasama sa Windows SDK, ang Debugging Tools para sa Windows ay available bilang isang hiwalay na installer.msi, na makikita pa rin, ngunit nasa bituka na ng pamamahagi ng Windows SDK. Dahil mayroon na kaming ISO image ng Windows SDK sa aming mga kamay, hindi namin ito mai-mount sa system, ngunit buksan lang ito gamit ang kilalang WinRAR archiver, o anumang iba pang produkto na gumagana sa mga nilalaman ng ISO disk.

Pagkatapos buksan ang imahe, kailangan naming pumunta sa direktoryo ng "Setup" na matatagpuan sa ugat at pagkatapos ay pumili ng isa sa mga direktoryo:

  • Upang i-install ang 64-bit na bersyon: \Setup\WinSDKDebuggingTools_amd64 at i-unpack ang dbg_amd64.msi file mula sa direktoryong ito.
  • Upang i-install ang 32-bit na bersyon: \Setup\WinSDKDebuggingTools at i-unpack ang dbg_x86.msi file mula sa direktoryong ito.

Sa pagkumpleto ng pag-install, ang gumaganang mga direktoryo ng Debugging Tools para sa Windows package ay magiging ganito:

  • Para sa bersyon ng x86: C:\Program Files (x86)\Debugging Tools para sa Windows (x86)
  • Para sa bersyon ng x64: C:\Program Files\Debugging Tools para sa Windows (x64)

Sa puntong ito, ang pag-install ng Debugging Tools para sa Windows ay maaaring ituring na kumpleto.

Higit pang impormasyon

Hindi ko alam kung saan ito konektado, marahil dahil sa aking kawalang-ingat, ngunit pagkatapos i-install ang Debugging Tools para sa Windows, hindi itinatakda ng installer ang path sa direktoryo na may debugger sa variable na path ng system na Path. Nagpapataw ito ng ilang partikular na paghihigpit sa paglulunsad ng iba't ibang mga gawain sa pag-debug nang direkta mula sa console. Samakatuwid, kung walang landas, nakapag-iisa akong sumulat sa window Mga variable ng kapaligiran landas sa mga tool sa pag-debug:

  • C:\Program Files (x86)\Windows Kits\10\Debuggers\x86
  • C:\Program Files (x86)\Windows Kits\10\Debuggers\x64

* Sa iyong kaso, maaaring magkaiba ang mga path dahil sa paggamit ng OS na may ibang laki ng bit, at dahil sa paggamit ng ibang bersyon ng SDK.

Ang mga utility ng Debugging Tools para sa Windows package ay maaaring gumana bilang mga portable na application kailangan mo lang kopyahin ang direktoryo mula sa gumaganang system Toolkit ng Pagganap ng Microsoft Windows at gamitin ito bilang isang portable na bersyon sa isang production server. Ngunit huwag kalimutang isaalang-alang ang kapasidad ng system!! Kahit na nakumpleto mo na ang kumpletong pag-install ng package sa isang kritikal na sistema, maaari kang magsimulang magtrabaho pagkatapos ng pag-install, walang kinakailangang pag-reboot.

Komposisyon ng Debugging Tools para sa Windows

At ngayon, sa wakas, narito ang komposisyon ng Debugging Tools para sa Windows:

file Layunin
addlus.doc Dokumentasyon para sa ADPlus utility.
adplus.exe Isang console application na nag-automate sa gawain ng cdb debugger upang lumikha ng mga dump at log file para sa isa o higit pang mga proseso.
agestore.exe Isang utility para sa pag-alis ng mga hindi na ginagamit na file mula sa storage na ginagamit ng isang symbol server o source server.
breakin.exe Isang utility na nagbibigay-daan sa iyong magpadala ng custom na kumbinasyon ng break sa mga proseso, katulad ng pagpindot sa CTRL+C.
cdb.exe User mode console debugger.
convertstore.exe Isang utility para sa pag-convert ng mga simbolo mula sa 2-tier patungo sa 3-tier.
dbengprx.exe Repeater (proxy server) para sa malayuang pag-debug.
dbgrpc.exe Isang utility para sa pagpapakita ng impormasyon sa katayuan ng tawag sa RPC.
dbgsrv.exe Ang proseso ng server na ginagamit para sa malayuang pag-debug.
dbh.exe Isang utility para sa pagpapakita ng impormasyon tungkol sa mga nilalaman ng isang file ng simbolo.
dumpchk.exe Dump checking utility. Isang utility para sa mabilis na pagsuri ng dump file.
dumpexam.exe Isang utility para sa pagsusuri ng memory dump. Ang resulta ay output sa %SystemRoot%\MEMORY.TXT .
gflags.exe Editor ng mga flag ng global system. Pinamamahalaan ng utility ang mga registry key at iba pang mga setting.
i386kd.exe Wrapper para sa kd. Iyon ba ang dating tinawag ng kd para sa mga sistemang batay sa Windows NT/2000 para sa mga x86 machine? Marahil ay iniwan para sa mga dahilan ng pagiging tugma.
ia64kd.exe Wrapper para sa kd. Minsan ba itong tinawag na kd para sa mga system batay sa Windows NT/2000 para sa mga makinang ia64? Marahil ay iniwan para sa mga dahilan ng pagiging tugma.
kd.exe Kernel mode console debugger.
kdbgctrl.exe Tool sa pamamahala ng pag-debug ng kernel. Isang utility para sa pamamahala at pag-configure ng koneksyon sa pag-debug ng kernel.
kdsrv.exe Server ng koneksyon para sa KD. Ang utility ay isang maliit na application na tumatakbo at naghihintay para sa mga malalayong koneksyon. Ang kd ay tumatakbo sa kliyente at kumokonekta sa server na ito para sa malayuang pag-debug. Ang server at kliyente ay dapat na mula sa parehong pagpupulong ng Mga Tool sa Pag-debug.
kill.exe Isang utility para sa pagtatapos ng mga proseso.
list.exe Isang utility para sa pagpapakita ng mga nilalaman ng isang file sa screen. Ang miniature utility na ito ay kasama sa isang layunin - pagtingin sa malalaking text o log file. Ito ay tumatagal ng maliit na espasyo sa memorya dahil nilo-load nito ang teksto sa mga bahagi.
logger.exe Isang miniature debugger na maaari lamang gumana sa isang proseso. Ang utility ay nag-inject ng logexts.dll sa puwang ng proseso, na nagtatala ng lahat ng mga function call at iba pang mga aksyon ng program na pinag-aaralan.
logviewer.exe Isang utility para sa pagtingin sa mga log na naitala ng logger.exe debugger.
ntsd.exe Microsoft NT Symbolic Debugger (NTSD). Ang isang debugger na kapareho ng cdb maliban na ito ay lumilikha ng isang text window kapag inilunsad. Tulad ng cdb, ang ntsd ay may kakayahang mag-debug ng parehong console application at graphical na application.
pdbcopy.exe Isang utility para sa pag-alis ng mga pribadong simbolo mula sa isang file ng simbolo, pagkontrol sa mga pampublikong simbolo na kasama sa file ng simbolo.
remote.exe Isang utility para sa malayuang pag-debug at malayuang kontrol ng anumang console debugger na KD, CDB at NTSD. Binibigyang-daan kang patakbuhin ang lahat ng mga console debugger na ito nang malayuan.
rtlist.exe Malayong viewer ng gawain. Ginagamit ang utility upang magpakita ng listahan ng mga tumatakbong proseso sa pamamagitan ng proseso ng server ng DbgSrv.
symchk.exe Isang utility para sa pag-download ng mga simbolo mula sa Microsoft symbol server at paglikha ng lokal na cache ng simbolo.
symstore.exe Isang utility para sa paglikha ng network o lokal na imbakan ng simbolo (2-tier/3-tier). Ang imbakan ng simbolo ay isang dalubhasang direktoryo sa disk, na binuo alinsunod sa isang tiyak na istraktura at naglalaman ng mga simbolo. Ang isang istraktura ng mga subfolder na may mga pangalan na kapareho ng mga pangalan ng mga bahagi ay nilikha sa root directory ng mga simbolo. Sa turn, ang bawat isa sa mga subfolder na ito ay naglalaman ng mga nested subfolder na may mga espesyal na pangalan na nakuha sa pamamagitan ng pag-hash ng mga binary file. Ang utility ng symstore ay nag-scan ng mga folder ng bahagi at nagdaragdag ng mga bagong bahagi sa tindahan ng simbolo, kung saan maaaring makuha ng sinumang kliyente ang mga ito. Sinasabi na ang symstore ay ginagamit upang makatanggap ng mga simbolo mula sa 0-tier na storage at ilagay ang mga ito sa 2-tier/3-tier na storage.
tlist.exe Tagatingin ng gawain. Isang utility para sa pagpapakita ng listahan ng lahat ng tumatakbong proseso.
umdh.exe Utility ng dump heap ng user-mode. Isang utility para sa pagsusuri ng mga tambak ng napiling proseso. Binibigyang-daan kang magpakita ng iba't ibang mga parameter para sa heap.
usbview.exe USB Viewer. Isang utility para sa pagtingin sa mga USB device na nakakonekta sa isang computer.
vmdemux.exe Virtual machine demultiplexer. Lumilikha ng ilang pinangalanang pipe para sa isang koneksyon sa COM. Ginagamit ang mga channel upang i-debug ang iba't ibang bahagi ng virtual machine
windbg.exe User mode at kernel mode debugger na may GUI.