Se on loistava työkalu debuging ohjelmia, unassembling ja halkeilua, ja lukeminen "piilotettu" muisti alueilla, kuten boot sektori, ja paljon muuta.
Seuraavassa on kopioitu kokoonpano opetusohjelma, joka on kirjailija emme voi luottoa, koska meillä ei ole aavistustakaan kuka hän on.
Hanki DOS ja tyyppi "debug", saat nopeasti näin:
< p> -
nyt kirjoita "?", sinun pitäisi saada seuraavan vastauksen:
koota [osoite] vertaa C välillä osoite kaatopaikka D [alue] kirjoita E osoite [list] täyttää F alue lista mennä G [= osoite] [osoitteita] hex H arvo1 arvo2 panos I-liitäntä kuorma L [osoite] [asema] [firstsector] [numero] liikkua M valikoima osoite nimi N [polku] [arglist] ulostulo O-portti tavu edetä P [= osoitteen] [numero] lopettaa Q-rekisteristä R [Rekisteröidy] haku S korkeuden lista jäljittää T [= osoite] [arvo] unassemble U [alue] kirjoittaa W [osoite] [asema] [firstsector] [numero] jakaa laajennettu muisti XA [#pages] deallocate laajennettu muisti XD [kahva] kartta laajennettu muisti sivut XM [Lpage] [Ppage] [kahva] näyttö laajennettu muisti asema XS
Mennään läpi näistä komennoista: Kokoa:
< p> -a 107A: 0100
Tässä vaiheessa voit aloittaa kokoonpano joitakin ohjelmia, kuten käyttäen kokoajan.
Kuitenkin debug kokoajan on hyvin rajallinen, koska luultavasti huomaa. Lets yrittää syöttää yksinkertainen ohjelma:
-a 107A: 0100 MOV AH, 02 107A: 0102 MOV DL, 41 107A: 0104 INT 21 107A: 0106 INT 20 -g
Ohjelman lopetetaan yleensä
Se on sama ohjelma teimme lopussa edellisen luvun. Huomaa, miten käynnistät ohjelman kirjoittamalla kanssa "g", ja myös huomata, kuinka perustamiseen osa ei ole siellä? Tämä johtuu siitä, debug on aivan liian rajoitettu tukemaan tätä.
Toinen asia mitä voi tehdä koota on täsmennettävä osoite, josta haluat aloittaa, oletusarvoisesti tämä on 0100, sillä se jos kaikki COM-tiedostoja aloittaa. Vertaa:
Vertaa kestää 2 lohko muistia ja näyttää ne rinnakkain, tavu tavu. Lets tehdä esimerkki. Melko ulos debug jos et ole jo käytössä "q". Nyt kirjoita "debug C: \\ command.com"
C 0100 L 8 0200 10a3: 0100 7A 06 10a3: 0200
Tämä komento verrannut offset 0100 kanssa 0200, jonka pituus on 8 tavua . Debug vastasi paikkaan, joka oli erilainen.
Jos 2 paikkaa olivat samat, debug olisi vain jättää heidät, jos kaikki ovat samaa debug yksinkertaisesti palata kehoitteeseen ilman vastausta. Dump:
dump dump tietyn muisti segmentti. Testat