Domov / Návody pre Windows / Čo je nástroj debug exe. Práca s príkazovým riadkom Windows, program Debug a jeho použitie. Otázky na prijatie

Čo je nástroj debug exe. Práca s príkazovým riadkom Windows, program Debug a jeho použitie. Otázky na prijatie

Ovládač je v podstate spojenie medzi operačným systémom, teda softvérom a hardvérom, teda fyzickými zariadeniami, ako sú grafické karty, tlačiarne, procesory atď. Operačný systém môže obsahovať základné ovládače pre väčšinu potrebné zariadenia- myš, klávesnica, ale všetko ostatné bude vyžadovať nové ovládače.

Ako nainštalovať ovládač?

1. Najjednoduchší spôsob, ak je k dispozícii inštalačný súbor, stačí ho spustiť a postupovať podľa pokynov inštalátora.
2. Ak nie je k dispozícii žiadny inštalačný program, ale sú k dispozícii iba súbory s príponami *.inf, *.dll, *.vxt, *.sys, *.drv., potom by mal byť algoritmus akcií približne takýto:

a) Najprv musíte vybrať ikonu na pracovnej ploche ( Môj počítač) a kliknite naň pravým tlačidlom myši, v rozbaľovacej ponuke vyberte ( Vlastnosti).

b) Teraz prejdite na kartu ( Vybavenie) a stlačte tlačidlo ( Správca zariadení).

c) Teraz je potrebné vybrať zariadenie, pre ktoré sa nainštaluje/aktualizuje ovládač. Na riadku so zariadením kliknite pravým tlačidlom myši a vyberte v rozbaľovacej ponuke ( Vlastnosti), alebo naň môžete jednoducho dvakrát kliknúť a prejsť na požadované nastavenia.


d) Prejdite na kartu ( Vodič), vyberte tlačidlo ( Obnoviť).

e) V zobrazenom dialógovom okne vyberte položku ( Nie tentoraz nie) a choď ( Ďalej).

f) V tejto fáze sú dve možnosti. Môžete skúsiť nainštalovať ovládače automatický režim, potom sa samotný OS pokúsi nájsť ovládače vhodné pre zariadenie a nainštalovať ich, na to vyberieme ( Automatická inštalácia (odporúča sa)), ak pokus zlyhá, prejdite na druhý krok ( Inštalácia z určeného miesta) a vyberte ( Ďalej).


g) Táto položka ponuky zahŕňa výber medzi vyhľadávaním ovládača na vymeniteľnom médiu a možnosťou zadať priečinok s ovládačom sami. Preto, ak je k dispozícii disk s ovládačmi, musíte disk vložiť do CD-ROM a vybrať možnosť ( Vyhľadávanie na vymeniteľných médiách (diskety, CD...)) a choď ( Ďalej).

Ak ovládač nájdete a stiahnete na internete sami, musíte ručne zadať cestu k priečinku, v ktorom sa nachádzajú inštalačné údaje ovládača, a to nasledovne. Vybrať položku ( Zahrňte nasledujúce miesto vyhľadávania:) a prejdite na ( Preskúmanie), teraz vyberte priečinok s ovládačom zo zoznamu a kliknite na tlačidlo ( OK). Teraz smelo ďalej Ďalej), ak je všetko vykonané správne, začne sa inštalácia potrebného ovládača.

debug.exe Ladiaci program, ktorý sa používa na kontrolu a ladenie spustiteľných súborov.

Používa sa s operačným systémom MS-DOS . Pre neskoršie verzie operačné systémy

funguje cez emulátor MS-DOS a má obmedzené príležitosti. Volané cez príkazový riadok

DEBUG [[jednotka:][cesta]názov súboru [možnosti]].

Napríklad: DEBUG C:\...\My.com

Tento program je konzolová aplikácia a je určená na vytváranie alebo úpravu súborov kódu. S ním môžete tvoriť jednoduchá aplikácia pod MS-DOS a sledovať ich prácu. Tento debugger je na najnižšej úrovni kompilátorov assembler. Má však dobré funkcie, ako je prezeranie a zmena pamäte, získavanie stavu registrov.

príkazy debug.exe

pravidlá príkazu debug.exe:

· Debug.exe nerozlišuje veľké a malé písmená.

· Medzery v príkazoch sa používajú len na oddelenie parametrov.

· Zadané čísla musia byť v šestnástkovej sústave a bez posledného písmena h.

· Segment a offset sa zapisujú pomocou dvojbodky, vo formáte segment:offset, napríklad CS:3C1 (offset 3C1h v kódovom segmente) alebo 40:17 (offset 17h v segmente, ktorého počiatočná adresa je 40h).

Po načítaní debuggeru sa na obrazovke objaví výzva, ktorá vyzerá ako pomlčka. Registre CS, D.S., ES, SS v tomto bode sú inicializované s adresou 256-bajtovej predpony programového segmentu a pracovná oblasť v pamäti začne na adrese tejto predpony + 100h. Tímy debug.exe sa zadávajú hneď po pozvánke na mieste označenom kurzorom. Každý príkaz pozostáva z identifikátora a parametrov, identifikátor pozostáva z jedného písmena.

Tabuľka 1. Súhrnná tabuľka všetkých príkazov debug.exe

Tím Popis Formátovať
A (montáž) Preklad príkazov assemblera do strojového kódu; predvolená adresa je CS:0100h. A[<адрес_начала_кода>]
C (porovnať) Porovnanie obsahu dvoch pamäťových oblastí; predvolená hodnota je DS. Príkaz určuje buď dĺžku sekcií alebo rozsah adries. C<начальный_адрес_1>L<длина> <начальный_адрес_2>C<начальный_адрес_1> <конечный_адрес_1> <начальный_адрес_2>
D (zobrazenie/výpis) Zobrazuje obsah pamäťovej oblasti v hexadecimálnom a ASCII formáte. Predvolená hodnota je DS; dĺžku alebo rozsah je možné špecifikovať. D[<начальный_адрес>] D [počiatočná_adresa koncová_adresa]
E (Enter) Zadávanie údajov alebo inštrukcií strojového kódu do pamäte; predvolená hodnota je DS. E[<адрес> [<инструкции/данные>]]
F (výplň) Vyplnenie pamäťovej oblasti údajmi zo zoznamu; predvolená hodnota je DS. Môžete použiť dĺžku aj rozsah. F<начальный_адрес_1>L<длина> "<данные>"F<начальный_адрес> <конечный_адрес> "<данные>"
G (choď) Spustite ladený program strojového jazyka až po zadaný bod prerušenia; predvolená hodnota je CS. Pritom sa uistite, že IP obsahuje správnu adresu. G[=<начальный_адрес>] <адрес_останова> [<адрес_останова> ...]
H (hexadecimálne) Vypočítajte súčet a rozdiel dvoch hexadecimálnych hodnôt. H<величина_1> <величина_2>
ja (vstup) Čítanie a výstup jedného bajtu z portu. ja<адрес_порта>
L (zaťaženie) Načítanie súboru alebo údajov zo sektorov disku do pamäte; predvolená hodnota je CS:100h. Súbor možno zadať príkazom N alebo argumentom pri spustení debug.exe. L[<адрес_в_памяти_для_загрузки>]L[<адрес_в_памяти_для_загрузки> [<номер_диска> <начальный_сектор> <количество_секторов>]]
M (presunúť) Kopírovanie obsahu pamäťových buniek; predvolená hodnota je DS. Môžete určiť dĺžku aj rozsah. M<начальный_адрес>L<длина> <адрес_назначения>M<начальный_адрес> <конечный_адрес> <адрес_назначения>
N (meno) Určenie názvu súboru pre príkazy L a W. N<имя_файла>
O (výstup) Odoslanie bajtu na port. O<адрес_порта> <байт>
P (Pokračovať) Vykonajte príkaz CALL, LOOP, INT alebo opakovaný reťazec s predponami REPnn a pokračujte ďalšou inštrukciou. P[=<адрес_начала>] [<количество_инструкций>]
Q (ukončiť) Vypína sa debug.exe. Q
R (Registrácia) Výstup obsahu registrov a ďalšej inštrukcie. R<имя_регистра>
S (hľadať) Vyhľadajte v pamäti znaky zo zoznamu; predvolená hodnota je DS. Môžete určiť dĺžku aj rozsah. S<начальный_адрес>L<длина> "<данные>"S<начальный_адрес> <конечный_адрес> "<данные>"
T (stopa) Spustenie programu krok za krokom. Rovnako ako v prípade príkazu P je predvolený pár CS:IP. Poznamenávam, že na vykonávanie prerušení je lepšie použiť príkaz P. T[=<адрес_начала>] [<количество_выполняемых_команд>]
U (rozobrať) Demontáž strojového kódu; predvolená je dvojica CS:IP. Bohužiaľ, debug.exe nerozoberá správne špecifické inštrukcie pre procesory 80286+, hoci sa stále vykonávajú správne. u [<начальный_адрес>]U[<начальный_адрес конечный_адрес>]
W (písať) Zápis súboru z debug.exe; musíte zadať názov súboru pomocou príkazu N, ak nebol načítaný. A programy sa zaznamenávajú iba ako súbory .COM! W[<адрес> [<номер_диска> <начальный_сектор> <количество_секторов>]]


Zobrazenie oblastí pamäte

Poďme sa bližšie pozrieť na prácu tímu D, ktorá umožňuje zobraziť obsah jednotlivých oblastí pamäte. Tento príklad používa príkaz D na zobrazenie oblasti pamäte od 0159:0240:

Tu sme ako odpoveď na požiadavku na zobrazenie oblasti pamäte dostali osem riadkov, ktoré označujú obsah vybranej oblasti pamäte. Každý riadok má tri časti:

Adresa prvého ľavého bajtu zobrazená vo formáte segment:offset.

· Hexadecimálne znázornenie odseku (16 bajtov) počnúc bajtom uvedeným na začiatku riadku.

· Znaky rovnakého odseku vo formáte ASCII.

Adresa uvedená v riadku sa vzťahuje výlučne na prvý bajt v odseku a adresy nasledujúcich bajtov sa musia vypočítať nezávisle. Šestnástková reprezentácia obsahuje dva znaky v každom byte a samotné bajty sú oddelené medzerami pre ľahšie čítanie. Okrem toho si treba uvedomiť, že ôsmy a deviaty bajt sú oddelené pomlčkou, čím sa odsek rozdelí na dve časti a uľahčí sa výpočet adries bajtov v odseku.

Užitočné triky s tímom D

Kontrola paralelných a sériových portov

Prvých 16 bajtov dátovej oblasti BIOSu obsahuje adresy paralelných a sériových portov. Preto môžete tieto porty skontrolovať pomocou nasledujúceho príkazu:

Prvých osem vytlačených bajtov označuje adresy sériových portov. COM1-COM4. Ďalších 8 bajtov označuje adresy paralelných portov. LPT1-LPT4. Napríklad, ak má váš počítač jeden paralelný port, potom prvé dva bajty budú s najväčšou pravdepodobnosťou: 7803. Adresa portu sa zapisuje v opačnom poradí, t.j. 0378.

Kontrola zariadenia

Prvé dva bajty, ktoré sa nachádzajú v systéme BIOS na adrese 410h, obsahujú informácie o hardvéri nainštalovanom v systéme. Tieto bajty nájdeme príkazom:

Predpokladajme, že prvé dva bajty sú 23 44. Dekódujme tieto bajty, aby sme získali informácie o nainštalované zariadenia. Aby sme to dosiahli, otočíme tieto bajty (44 23) a potom ich preložíme do binárneho číselného systému. Dostaneme:

Bitová hodnota
Bitová poloha

Čo znamenajú tieto kúsky? Pokračujeme v dešifrovaní:

Kontrola stavu registra klávesnice

V dátovej oblasti BIOS podľa adresy 417 h je prvý bajt, ktorý ukladá stav registra klávesnice. Vypnúť Num Lock a uzáver uzáveru , potom napíšeme príkaz:

Prvý bajt bude 00. Zahrnutím Num Lock a uzáver uzáveru, spustite príkaz znova. Teraz by mal byť prvý bajt rovný 60. Experimentálne sa zistilo, že kedy Num Lock prvý bajt je 20 a kedy uzáver uzáveru - 40.

Kontrola stavu videosystému

Podľa adresy 449 h v BIOS nachádza sa prvá oblasť video údajov. Pre kontrolu napíšeme:

Prvý bajt označuje aktuálny režim videa (napríklad 03 - farba) a druhý - počet stĺpcov (napríklad 50 - režim s 80 stĺpcami). Počet riadkov nájdete na 484 h (40:84).

Kontrola autorských práv a sériového čísla systému BIOS

Informácie o autorských právach pre BIOS zabudovaný do ROM BIOS podľa adresy FE00:0. Reťazec autorských práv možno ľahko nájsť v sekvencii ASCII a sériové číslo možno nájsť ako hexadecimálne číslo. Aj keď riadok autorských práv môže byť dlhý a nezmestí sa do výstupnej oblasti pamäte. V tomto prípade stačí zadať znova D.

Kontrola dátumu výroby systému BIOS

Tento dátum je tiež zaznamenaný v ROM BIOS počnúc od adresy FFFF:5. Po vykonaní príslušného príkazu bude tento dátum v sekvencii ASCII zapísaný vo formáte mm/dd/rr.

Uloženie programu do pamäte priamo pomocou debug.exe

debug.exe umožňuje zadať program priamo do pamäte stroja a potom sledovať a riadiť jeho vykonávanie. Program zadáme v strojových kódoch pomocou príkazu E. Zároveň si dávajte pozor zadanie chybných údajov na nesprávnej adrese je spojené s nepredvídateľnými následkami! Aj keď je nepravdepodobné, že to povedie k vážnym problémom v systéme, ale stratí všetky zadané údaje debug.exe, môžete ľahko. Program, ktorý sa má zadať, používa údaje vložené priamo do tela pokynov. Nasleduje zoznam programu v assembleri, komentáre označujú analógy jazykových príkazov v strojových kódoch, ako aj vysvetlenie každého príkazu. Všimnite si, že v číslach nie je žiadny symbol h, keďže, ako je uvedené vyššie, debug.exe rozumie iba hexadecimálnym číslam.

MOV AX, 0123 ; kód B82301: do AX zadáme hodnotu 0123h

PRIDAŤ AX, 0025; kód 052500: pridajte 0225h k hodnote AX

MOV BX, AX ; kód 8BD8: do BX zadáme hodnotu AX

PRIDAŤ BX, AX ; kód 03D8: pridajte hodnotu AX k BX

MOV CX, BX ; kód 8BCB: do CX zadáme hodnotu BX

SUB CX, AX ; kód 2BC8: odčítajte hodnotu AX od CX

SUB AX, AX ; kód 2BC0: čistý AX

ŽMP 100 ; Kód EBEE: prejdite na začiatok programu

Ako vidíte, každá strojová inštrukcia má dĺžku 1 až 3 bajty. Prvý bajt určuje operáciu, nasledujúci bajt určuje jej operandy. Vykonávanie programu začína od prvej inštrukcie a prechádza postupne všetkými pokynmi. Teraz môžete zadať program do pamäte. Strojový kód rozdelíme na tri časti po šiestich bajtoch a každú zadáme pomocou príkazu E a počnúc adresou CS:100.

Teraz, keď je program v pamäti, skúsme riadiť jeho vykonávanie. Najprv skontrolujeme aktuálny stav registrov a príznakov, na to zadáme príkaz R. Debugger vytlačí obsah registrov v šestnástkovej sústave; na rôzne stroje obsah registrov sa môže líšiť.

Takže, ako vidíte, debug.exe inicializované segmenty D.S., ES, SS, CS rovnakú adresu. Registrovať IP obsahuje 0100 , čo naznačuje, že inštrukcie sú vykonávané od offsetu 100 hod pomerne CS(a my sme pri vkladaní pokynov do pamäte práve označili túto adresu).

Tu sú tiež uvedené hodnoty príznakov pretečenia, smeru, prerušenia, znamienka, nuly, extra prenosu, parity a prenosu:

Po stave registrov a príznakov debug.exe vypíše informácie o prvej inštrukcii, ktorá sa má vykonať:

· Adresa inštrukcie, v našom prípade je to 0B12:0100, kde 0B12 je adresa segmentu kódu.

· Strojový kód zodpovedajúci tejto príručke (B82301).

· Aktuálna inštrukcia napísaná v assembleri (MOV AX,0123).

Teraz, po analýze obsahu registrov a príznakov, prejdime k vykonávaniu programu. Program vykonáme krok za krokom pomocou príkazu T. Prvé použitie príkazu T, vykonáme pokyn MOV. Tu je strojový kód operandu inštrukcie 2301 . Operačné miesta 23 v AL(mladšia polovička AX), a 01 - v AH(staršie). Potom debug.exe znova vytlačí registračné informácie:

Teraz AX obsahuje 0123 hod, IP01:03 hod(teda dĺžka vykonanej inštrukcie: 01:03 hod - 01:00 hod = 3 bajtov) a ďalšou inštrukciou je operácia PRIDAŤ. Takže znova a znova vykonávať príkaz T, dostaneme sa k poslednému pokynu 100 ŽMP. Nastaví register IP v 100 hod, a debug.exe sa vráti na začiatok programu. Ak sa vrátime na začiatok programu, treba poznamenať, že v D.S., ES, SS a CS obsahuje rovnakú adresu. Faktom je, že debug.exe zadané programy považuje len za programy .COM. A v programoch .COM, Na rozdiel od .EXE, zásobník, kód a údaje sú uložené v rovnakom segmente.

Montáž a demontáž

V predchádzajúcom príklade sme zadali program v strojových kódoch, avšak debug.exe celkom schopný porozumieť inštrukciám napísaným v assembleri. Na prácu s takýmito programami v debug.exe používajú sa príkazy A a U.

Tím A vyžiada inštrukcie v jazyku assembleru a prevedie ich na strojový kód. Najprv inicializujeme počiatočnú adresu pre zadávanie pokynov (100 h):

Debugger vypíše adresu segmentu kódu a ofset (napr. 13F2:0100). Teraz musíme vstúpiť podľa pokynov v assembleri do pamäte, po každom riadku stlačením Zadajte:

Po zadaní posledného pokynu stlačte Zadajte dvakrát, aby sme debuggeru oznámili, že sme dokončili písanie programu. Teraz je možné program spustiť pomocou príkazov R na prezeranie registrov a T na sledovanie. Podotýkam, že v mojich programoch, ak existujú pokyny INT nemali by byť spracované príkazom T, a tím P, ktorý zvláda všetky prerušenia naraz.

Prejdime k postupu demontáže a ako príklad si vezmime program, ktorý sme práve zadali. Na označenie rozsahu, ktorý ideme rozoberať, používame adresy prvého a posledného návodu, t.j. 100 hod a 107 hod.

Po vykonaní tohto príkazu debug.exe vytlačí inštrukcie v špecifikovanom rozsahu, v assembleri, v strojovom kóde, ako aj adresu každej inštrukcie:

Uloženie programu na disk

Najprv je uvedený názov súboru:

Potom sa zaregistrovať SH musíte zadať veľkosť programu v bajtoch. Bude sa rovnať rozdielu medzi konečným a počiatočným posunom. Teraz zostáva len zapísať na disk pomocou príkazu W a ako výsledok vidieť počet zapísaných bajtov. V dôsledku toho dostaneme program pripravený na vykonanie.

Výstup sa vykonáva príkazom q. Príklad:

0B3B: 0100 mov sekera, 1234

0B3B:0103 mov ah, 4c

0B3B:0105 int 21

0B3B:0100 B83412 MOV AX,1234

0B3B:0103 B44C MOV AH,4C

0B3B:0105 CD21 INT 21

AX=0000 BX=0000 CX=0007 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=0B3B ES=0B3B SS=0B3B CS=0B3B IP=0100 NV UP EI PL NZ NA PO NC

0B3B:0100 B83412 MOV AX,1234

Napíšte 00007 bajtov

Aby som to splnil laboratórne práce Budete potrebovať niekoľko príkazov assembleru:

movah,<шестнадцатиричное число>- zápis do registra AHčísla 02 určiť funkciu systému - zobrazenie znaku na obrazovke;

MOVDL,<шестнадцатиричное число>- zápis do registra DL kód znaku;

INT 21 - hlavné prerušenie DOS (procedúra), ktorá implementuje mnohé rôzne funkcie; číslo funkcie je vopred zapísané v registri AH; vytlačiť znak na obrazovku - v registri AH funkcia 02, pričom v DL vopred zaznamenajte kód znaku.

INT 20 - prerušenie DOS, ktoré ukončí program (z programu .COM).

Príklad:

Zobrazte na obrazovke znak "*".

movAH,02 ; systémová funkcia 02 - zobrazenie znaku na obrazovke

mov DL,2A; ASCII kód ​​s hviezdičkou

int 21h; prerušenie výstupu "*"

int 20h; výstup z programu

Praktická úloha

Cieľ

Úvod do ladiaceho nástroja debug.exe. Získanie praktických zručností pri práci s týmto programom.

Vybavenie:

Osobný počítač s operačným systémom Windows.

softvér:

Ladiaci program.

Otázky na prijatie

1. Aký je účel programu Debug?

2. Ako spustiť tento program?

3. Ako sa zadávajú príkazy v Debug?

4. Čo je to identifikátor?

5. Ako sa program zadáva do ladenia?

Cvičenie

· Preštudovať si teoretický materiál.

· Vykonajte príkazy popísané v texte.

Nájdite súčet a rozdiel 2 čísel: 1. číslo je číslo v skupine (preložené do hexadecimálneho tvaru), 2. je číslo opačné k číslu prvého písmena priezviska v abecede (záporné číslo v dodatočný kód). Preveďte súčet a rozdiel na desatinné číslo.

· Zobrazte obsah registrov mikroprocesora, ako aj príznaky a zapíšte ich do protokolu. Aká je funkcia každého registra? .

· Zapíšte prvé číslo (z úlohy 3) do registra AX a druhé číslo (z úlohy 3) do registra BX. Zadajte RAM do segmentu kódu (offset 100) strojová inštrukcia na pridávanie registrov AX a BX. Prezrite si jeho zostavovací formulár na obrazovke. Vykonajte tento príkaz, skonvertujte výsledok do desiatkovej formy.

· Zadajte do pamäte RAM do segmentu kódu (offset 100) sadu príkazov assembleru na vytlačenie znaku na obrazovke - prvé písmeno vášho priezviska. Skontrolujte program v DEBUG. Potom ho napáľte na disk ako súbor .COM. Aká je veľkosť programu? Spustite ho na spustenie zo systému DOS.

· Opíšte všetky akcie v správe.

1. Názov práce.

2. Účel práce.

3. Prístroje a vybavenie.

4. Stručné teoretické informácie.

5. Opis prijatých opatrení.

6. Text vytvoreného programu.

7. Závery.

testovacie otázky

1. Aký príkaz vytvára vstup dát alebo inštrukcie strojového kódu do pamäte?

2. Ako porovnať obsah dvoch pamäťových oblastí?

3. Ako vyplniť pamäťovú oblasť údajmi zo zoznamu?

4. Aký príkaz spustí ladený program v strojovom jazyku?

5. Ktorý príkaz zapíše súbor z Debug?

6. Ako prebieha montáž a demontáž?

DOS Debug je ladiaca aplikácia, ktorá vylepšuje funkčnosť pôvodného príkazu MS DEBUG. Beží len na 32-bitových počítačových architektúrach a hrá úlohu assemblera a dissasemblera a poskytuje programátorom spôsob, ako diagnostikovať COM a iné spustiteľné súbory.

Balenie obsahuje binárne určené na ladenie 16-bitové aplikácie (DEBUG.COM), ako aj upravená verzia s názvom DEBUGX.COM, ktorá je kompatibilná so 16-bitovými a 32-bitovými aplikáciami, ktoré bežia v chránenom režime (s podporou DPMI).

Aplikácia beží v príkazovej konzole, čo vám umožňuje zobraziť zoznam všetkých dostupných príkazov v časti „Pomocník“.

Medzi ďalšie funkcie, ktoré DOS Debug prináša, môžete nájsť vylepšenia pre assembler a dissasembler (ktoré vás môžu upozorniť v prípade zistenia nekompatibility procesora), podporu pre FPU Opcodes, 80386+ CPU a ako také, 32-bitové názvy registrov.

Môže tiež fungovať ako aplikácia hex dump a spája možnosti na analýzu obsahu pamäte, porovnávanie alebo vyplnenie rozsahu adries, zobrazenie reťazca MCB (riadiaci blok pamäte DOS). Ďalšie príkazy vám umožňujú získať prístup k určitým častiam disku, portom a sektorom pamäte alebo nastaviť názov programu.

DEBUG.COM beží ako 16-bitový program, čo znamená, že môže pracovať iba so 16-bitovými aplikáciami, ale jeho vylepšená verzia (DEBUGX.COM) umožňuje ladiť aj 32-bitové programy DPMI.

DOS Debug, určený pre skúsených programátorov, poskytuje pomôcku, ktorá môže nahradiť príkaz MS DEBUG. Dokáže spracovať 16-bitové aj 32-bitové balíky DPMI a obsahuje podrobný popis funkcií v dokumentácii, čo umožňuje ľahké pochopenie toho, čo každý príkaz robí.

Nástroje na ladenie pre Windows- Nástroje na ladenie prevádzkového kódu systémy Windows. Ide o sadu voľne distribuovaných programov od spoločnosti Microsoft určených na ladenie kódu používateľského režimu a režimu jadra: aplikácie, ovládače, služby, moduly jadra. Sada nástrojov obsahuje konzolové a GUI debuggery, nástroje na prácu so symbolmi, súbormi, procesmi, nástroje na vzdialené ladenie. Sada nástrojov obsahuje nástroje, pomocou ktorých môžete nájsť príčiny porúch v rôznych komponentoch systému. Nástroje na ladenie pre Windows od určitého momentu nie sú dostupné na stiahnutie vo forme samostatnej distribúcie a sú súčasťou Windows SDK (Windows Software Development Kit). Inštrumentálna zostava Nástroje systému Windows SDK je zase k dispozícii ako súčasť programu predplatného MSDN alebo si ju možno voľne stiahnuť ako samostatnú distribúciu z msdn.microsoft.com. Podľa vývojárov je najnovšia a najaktuálnejšia verzia Debugging Tools pre Windows obsiahnutá v súprave Windows SDK.

Nástroje na ladenie pre Windows sú aktualizované a uverejnené na verejný prístup pomerne často a tento proces nezávisí od vydania operačných systémov. Preto pravidelne kontrolujte nové verzie.

Pozrime sa teraz, na čo konkrétne slúžia nástroje na ladenie Microsoft Windows:

  • Ladenie lokálnych aplikácií, služieb (služieb), ovládačov a jadra;
  • Ladenie cez sieť vzdialené aplikácie, služby (služby), ovládače a jadro;
  • Ladenie spustených aplikácií v reálnom čase;
  • Analyzujte súbory výpisu pamäte aplikácií, jadra a systému ako celku;
  • Práca so systémami založenými na architektúrach x86/x64/Itanium;
  • Ladenie programov v užívateľskom režime a režime jadra;

K dispozícii sú nasledujúce verzie ladiacich nástrojov pre Windows: 32-bitová x86, Intel Itanium, 64-bitová x64. Potrebujeme dva z nich: x86 alebo x64.

Existuje niekoľko spôsobov, ako nainštalovať nástroje na ladenie pre Windows, v tomto článku zvážime iba tie hlavné:

  • Inštalácia cez webový inštalátor.
  • Inštalácia ladiacich nástrojov pre Windows z ISO Obraz systému Windows SDK.
  • Inštalácia ladiacich nástrojov pre Windows priamo z balíkov dbg_amd64.msi /dbg_x86.msi.

Zostáva nejasné, v akom bode, prečo by som mal inštalovať nástroje na ladenie do počítača? Často sa predsa stretávate so situáciou, kedy je zásah do pracovného prostredia krajne nežiaduci! A ešte viac, pretože inštalácia nového produktu, to znamená vykonávanie zmien v registri / systémových súboroch, môže byť úplne neprijateľná. Príkladom sú kritické servery. Prečo vývojári neuvažujú o prenosných verziách aplikácií, ktoré nevyžadujú inštaláciu?
Od verzie k verzii prechádza proces inštalácie balíka Debugging Tools for Windows určitými zmenami. Poďme teraz rovno do procesu inštalácie a pozrime sa na spôsoby, akými je možné sadu nástrojov nainštalovať.

Inštalácia ladiacich nástrojov pre Windows pomocou webového inštalátora

Prejdite na stránku Windows SDK Archive a nájdite sekciu pod Názov systému Windows 10 a nižšie "Windows 10 SDK (10586) a Microsoft Windows 10 Mobile Device Emulator (verzia 10586.11)".

Kliknite na položku INŠTALOVAŤ SDK. Po kliknutí stiahnite a spustite súbor sdksetup.exe, čím sa spustí proces online inštalácie Windows SDK. V počiatočnej fáze inštalátor skontroluje, či je v systéme nainštalovaný balík .NET Framework Najnovšia verzia(v tento moment je to 4,5). Ak balík chýba, ponúkne sa inštalácia a po dokončení sa stanica reštartuje. Ihneď po reštarte, vo fáze autorizácie používateľa, sa spustí proces inštalácie priamo so súpravou Windows SDK.

Často sa pri výbere všetkých komponentov balíka bez výnimky môžu počas procesu inštalácie vyskytnúť chyby. V tomto prípade sa odporúča inštalovať komponenty selektívne, minimálna požadovaná sada.

Po dokončení inštalácie Debugging Tools for Windows bude umiestnenie ladiacich súborov s týmto spôsobom inštalácie nasledovné:

  • 64-bitové verzie: C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x64
  • 32-bitové verzie: C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x86

* kde x.x je špecifická verzia vývojového kitu;
Všimli sme si, že verzie 8 a vyššie sú inštalačné cesty pre každého citeľne odlišné od klasických predchádzajúce verzie nástroje na ladenie?

Obrovské plus túto metódu Inštalácia ladiacich nástrojov pre Windows znamená inštaláciu verzií ladiacich nástrojov pre všetky architektúry naraz.

Inštalácia ladiacich nástrojov pre Windows z Windows SDK ISO

Táto metóda zahŕňa inštaláciu nástrojov na ladenie pre Windows pomocou úplného inštalačného obrazu súpravy Windows SDK (Software Developers Kit). Do určitého času stiahnite iso obraz pre príslušný systém môžete navštíviť stránku Windows SDK Archive. V súčasnosti však môžete získať obraz ISO súpravy SDK spustením webového inštalátora sdksetup.exe a výberom položky Stiahnite si súpravu Windows Software Development Kit v úvodnom okne inštalačného programu:

Ako sa zistilo, predchádzajúci spôsob inštalácie pomocou webového inštalátora je dosť rozmarný a často zlyháva. Na čistých systémoch sa nainštaluje bez problémov, ale na dostatočne zaťažených systémoch vznikajú početné problémy. Ak je to váš prípad, použite túto metódu.

Podľa toho je na stránke potrebné vybrať požadovaný distribučný kit, pre mňa (a myslím, že aj pre mnohých) je to momentálne „Windows SDK pre Windows 7 a .NET Framework 4“ a o niečo nižšie kliknúť na odkaz „Získať ISO obraz DVD" .

Pri práci so stránkou msdn.microsoft.com vám odporúčam použiť prehliadač internet Explorer, pretože boli pozorované prípady nefunkčnosti konkurenčných produktov!

Podľa toho je potrebné vyberať len podľa potreby. Bitová rýchlosť ladiacich nástrojov pre Windows je zvyčajne rovnaká ako bitová rýchlosť systému. Moje testovacie systémy sú väčšinou 64-bitové, takže vo väčšine prípadov sťahujem obraz pre 64-bitový systém GRMSDKX_EN_DVD.iso .
Potom po stiahnutí obrazu musíme nejako pracovať s existujúcim obrazom ISO. Tradičným spôsobom je, samozrejme, napaľovanie CD, ale je to dosť zdĺhavý a niekedy nákladný spôsob. Navrhujem použiť bezplatné služby na vytvorenie virtuálnych diskových zariadení v systéme. Osobne na tento účel najradšej používam program DEAMON Tools Lite. Niekto môže mať iné preferencie, priamejšie alebo ľahšie nástroje, v chuti a farbe, ako sa hovorí .. Po inštalácii DAEMON Nástroje Lite, Len dvakrát kliknem na obrazový súbor GRMSDKX_EN_DVD.iso a v systéme mám nové virtuálne CD:

Potom dvojitým kliknutím aktivujem automatické načítanie a spustím inštaláciu Windows SDK:

Keď príde rad na výber komponentov, ktoré sa majú nainštalovať zo zoznamu, zakážeme úplne všetky možnosti okrem tých, ktoré sú označené na snímke obrazovky. To nám teraz pomôže vyhnúť sa zbytočným chybám.


Správne, snímka obrazovky zobrazuje dve možnosti: „Windows Performance Toolkit“ a „Debugging Tools for Windows“. Vyberte si oboje, pretože Windows Performance Toolkit sa vám pri práci určite bude hodiť! Ďalej po kliknutí na tlačidlo „Ďalej“ inštalácia pokračuje normálny režim. A na konci uvidíte nápis "Inštalácia dokončená".
Po dokončení inštalácie budú pracovné adresáre súpravy Debugging Tools for Windows nasledovné:

  • Pre x86 verziu:
  • Pre x64 verziu:

Tým sa dokončí inštalácia nástrojov na ladenie pre Windows.

Inštalácia ladiacich nástrojov pre Windows prostredníctvom súboru .msi

Ak narazíte na problémy s inštaláciou nástrojov na ladenie pre Windows s dvoma predchádzajúce spôsoby, na sklade máme ešte jeden, najspoľahlivejší a overený časom, ktorý pomohol takpovediac viackrát. Kedysi, pred integráciou do Windows SDK, boli Debugging Tools for Windows dostupné ako samostatný .msi inštalátor, ktorý možno stále nájsť, no už v útrobách distribúcie Windows SDK. Keďže už máme po ruke obraz ISO Windows SDK, nemôžeme ho pripojiť do systému, ale jednoducho ho otvoriť pomocou známeho archivátor WinRAR, dobre, alebo akýkoľvek iný produkt, ktorý pracuje s obsahom ISO diskov.

Po otvorení obrázka musíme prejsť do adresára „Setup“ umiestneného v koreňovom adresári a potom vybrať jeden z adresárov:

  • Inštalácia 64-bitovej verzie: \Setup\WinSDKDebuggingTools_amd64 a rozbaľte súbor dbg_amd64.msi z tohto adresára.
  • Inštalácia 32-bitovej verzie: \Setup\WinSDKDebuggingTools a rozbaľte súbor dbg_x86.msi z tohto adresára.

Po dokončení inštalácie budú pracovné adresáre súpravy Debugging Tools for Windows nasledovné:

  • Pre x86 verziu: C:\Program Files (x86)\Debugging Tools for Windows (x86)
  • Pre x64 verziu: C:\Program Files\Debugging Tools for Windows (x64)

V tomto bode možno inštaláciu ladiacich nástrojov pre Windows považovať za dokončenú.

Ďalšie informácie

Neviem s čím to súvisí, možno s mojou neopatrnosťou, ale po nainštalovaní Debugging Tools for Windows inštalátor nenastaví cestu k adresáru s debuggerom v premennej Path system path. To ukladá určité obmedzenia na spúšťanie rôznych úloh ladenia priamo z konzoly. Preto pri absencii cesty sám píšem do okna Premenné prostredia cesta k nástrojom na ladenie:

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

* Vo vašom prípade sa cesty môžu líšiť tak z dôvodu použitia OS s inou bitovou verziou, ako aj z dôvodu použitia SDK inej verzie.

Pomôcky balíka Debugging Tools for Windows môžu fungovať ako prenosné aplikácie, stačí ich skopírovať pracovný systém katalóg Microsoft Windows Performance Toolkit a použiť ju ako prenosnú verziu na produkčnom serveri. Nezabudnite však vziať do úvahy kapacitu systému !! Aj keď ste vykonali úplnú inštaláciu balíka na kritickom systéme, môžete začať pracovať hneď po inštalácii, nie je potrebný žiadny reštart.

Nástroje na ladenie pre Windows

A teraz, konečne, tu je zloženie ladiacich nástrojov pre Windows:

Súbor Účel
adplus.doc Dokumentácia pre pomôcku ADPlus.
adplus.exe Konzolová aplikácia, ktorá automatizuje prácu ladiaceho programu cdb na vytváranie výpisov, protokolových súborov pre jeden alebo viac procesov.
agestore.exe Pomôcka na odstránenie zastaraných súborov z úložného priestoru používaného serverom symbolov alebo zdrojovým serverom.
breakin.exe Pomôcka, ktorá umožňuje odoslať vlastnú kombináciu prestávok procesom, podobne ako pri stlačení CTRL+C.
cdb.exe Debugger konzoly používateľského režimu.
convertstore.exe Pomôcka na konverziu postáv z 2-vrstvových na 3-vrstvové.
dbengprx.exe Ripiter (proxy server) na vzdialené ladenie.
dbgpc.exe Pomôcka na zobrazenie informácií o stave RPC hovoru.
dbgsrv.exe Proces servera používaný na vzdialené ladenie.
dbh.exe Pomôcka na zobrazenie informácií o obsahu súboru symbolov.
dumpchk.exe Pomôcka na overenie výpisov. Nástroj na rýchlu kontrolu súboru výpisu.
dumpexam.exe Pomôcka na analýzu výpisu pamäte. Výsledkom je výstup do %SystemRoot%\MEMORY.TXT .
gflags.exe Editor príznakov globálneho systému. Pomôcka spravuje kľúče databázy Registry a ďalšie nastavenia.
i386kd.exe Zavinovačka pre kd. Kedysi sa to volalo kd for systems on Základňa Windows NT/2000 pre x86 stroje? Pravdepodobne odišiel z dôvodu kompatibility.
ia64kd.exe Zavinovačka pre kd. Bolo to to, čo sa kedysi nazývalo kd pre systémy založené na Windows NT/2000 pre stroje ia64? Pravdepodobne odišiel z dôvodu kompatibility.
kd.exe Debugger konzoly v režime jadra.
kdbgctrl.exe Nástroj na správu ladenia jadra. Pomôcka na správu a konfiguráciu pripojenia na ladenie jadra.
kdsrv.exe Pripojovací server pre KD. Pomôcka je malá aplikácia, ktorá beží a čaká na vzdialené pripojenia. kd beží na klientovi a pripája sa k tomuto serveru na vzdialené ladenie. Server aj klient musia pochádzať z rovnakého zostavenia nástrojov na ladenie.
kill.exe Pomôcka na ukončenie procesov.
list.exe Nástroj na zobrazenie obsahu súboru na obrazovke. Táto miniatúrna pomôcka bola pribalená s jediným účelom - prezeraním veľkých textových alebo protokolových súborov. Zaberá málo miesta v pamäti, pretože načítava text po častiach.
logger.exe Malý debugger, ktorý dokáže pracovať iba s jedným procesom. Pomôcka vloží do priestoru procesu súbor logexts.dll, ktorý zaznamená všetky volania funkcií a ďalšie akcie skúmaného programu.
logviewer.exe Pomôcka na prezeranie protokolov napísaných ladiacim programom logger.exe.
ntsd.exe Microsoft NT Symbolic Debugger (NTSD). Ladiaci nástroj, ktorý je identický s cdb, okrem toho, že pri spustení vytvorí textové okno. Rovnako ako cdb, aj ntsd je schopný ladiť konzolové aplikácie aj grafické aplikácie.
pdbcopy.exe Pomôcka na odstránenie súkromných symbolov zo súboru symbolov, ovládajúca verejné symboly zahrnuté v súbore symbolov.
remote.exe Pomôcka na vzdialené ladenie a diaľkové ovládanie akéhokoľvek ladiaceho nástroja konzoly KD, CDB a NTSD. Umožňuje vzdialene spúšťať všetky tieto ladiace programy konzoly.
rtlist.exe Vzdialený prehliadač úloh. Pomôcka sa používa na zoznam spustených procesov prostredníctvom procesu servera DbgSrv.
symchk.exe Pomôcka na stiahnutie symbolov zo servera symbolov spoločnosti Microsoft a vytvorenie lokálnej vyrovnávacej pamäte symbolov.
symstore.exe Pomôcka na vytvorenie siete resp lokálny obchod postavy (2-vrstvové/3-vrstvové). Sklad symbolov je špecializovaný adresár na disku, ktorý je zostavený podľa určitej štruktúry a obsahuje symboly. V koreňovom adresári symbolov sa vytvorí štruktúra podpriečinkov s názvami zhodnými s názvami komponentov. Každý z týchto podpriečinkov zase obsahuje vnorené podpriečinky so špeciálnymi názvami získanými hašovaním binárnych súborov. Pomôcka symstore skenuje zložky komponentov a pridáva nové komponenty do skladu symbolov, kde ich môže získať ktorýkoľvek klient. Hovorí sa, že symstore sa používa na získanie symbolov z 0-vrstvového úložiska a ich uloženie do 2-vrstvového/3-vrstvového úložiska.
tlist.exe Prehliadač úloh. Nástroj na výpis všetkých spustených procesov.
umdh.exe Pomôcka haldy výpisu v užívateľskom režime. Nástroj na analýzu hromady vybraného procesu. Umožňuje zobraziť rôzne možnosti pre haldu.
usbview.exe USB prehliadač. pomôcka na zobrazenie USB zariadenia pripojený k počítaču.
vmdemux.exe Demultiplexor virtuálny prístroj. Vytvorí viacero pomenovaných kanálov pre jedno pripojenie COM. Kanály sa používajú na ladenie rôznych komponentov virtuálneho počítača
windbg.exe Debugger v používateľskom režime a režime jadra s GUI.

Android Debug Bridge (adb) je konzolový program, ktorý vám umožní ladiť mobilné zariadenia v systéme Android, ako aj emulátory.

Popis

Tento nástroj výrazne zjednodušuje inštaláciu a ladenie aplikácií a tiež poskytuje prístup k shellu Unix. Ten možno použiť na spustenie potrebných príkazov na zariadení. Okrem iného je možné program použiť na odomknutie smartfónu so zapnutým režimom ladenia. Za zmienku však stojí, že Android Debug Bridge podporuje akékoľvek Android zariadenie za predpokladu, že potrebná funkcionalita nebola zablokovaná výrobcom.

Program obsahuje tri zložky:

  • Zákazník. Beží na PC vývojára, posiela príkazy. Na zavolanie klienta môžete použiť príslušný príkaz v termináli.
  • Démon (add). Vykonáva príkazy na zariadení. Pracuje v pozadie na každom zariadení.
  • Server. Riadi interakciu medzi klientom a démonom. Beží na pozadí na vývojovom stroji.

Vlastnosti ADB:

  • Pozrite si zoznam pripojených a podporovaných zariadení.
  • Zobraziť denníky.
  • Kopírujte a prenášajte dáta a súbory medzi zariadeniami.
  • Inštalácia a odinštalovanie aplikácií.
  • Vymazanie a prepísanie údajovej časti.
  • A tiež oveľa viac.

Z našej stránky si môžete stiahnuť Android Debug Bridge zadarmo, bez registrácie a SMS.

Snímky obrazovky