Hoppa till innehållet

Debug

Från Wikipedia

debug är ett kommando i DOS, MS-DOS, OS/2 och Microsoft Windows (endast x86 versioner, inte x64[1]) vilket programmet debug.exe (eller DEBUG.COM i äldre DOS-versioner) använder sig av.[2] Debug kan användas som en assembler, Disassemblator, eller program för hexadecimal dump som tillåter användaren att interaktivt undersöka datorminnets innehåll (i assembler, hexadecimal eller ASCII), göra ändringar, och selektivt exekvera COM-fil, EXE och andra typer av filer. Det har också flera kommandon som används för att nå en viss disksektor, minnesmappad I/O port och minnesadresser. MS-DOS Debug är skriven för 16-bitars processer och är därför begränsad till 16-bitars datorprogram.[2] FreeDOS Debug har en "DEBUGX"-version som också stödjer 32-bitars DPMI-programs.[3]

Traditionellt har alla datorer och operativsystem inkluderat en underhållsfunktion, som används för att undersöka om ett program arbetar korrekt. Debug skrevs av Tim Paterson för att tjäna detta syfte för QDOS. När Paterson började arbeta för Microsoft i början av 1980-talet tog han programmet med sig. Debug var en del av DOS 1.00 och har varit inkluderat i MS-DOS och Microsoft Windows. MS-DOS Debug har flera begränsningar:

  • Det kan bara läsa 16-bit register och inte 32-bit (extended) register.
  • När kommandot "n" används för att namnge filer lagras filnamnet offset DS:5D till DS:67 vilket betyder att programmet endast kan spara filer i FAT 8.3 filnamnsformat.
  • MS-DOS Debug kan bara läsa konventionellt minne,[2] vilket är de första 640 kB i en IBM PC.

Kloner av Debug för 32-bitar, som FreeDOS Debug, har skrivits.[3]

debug [[Drive:][Path] FileName [parameters]]

När Debug körs utan någon parameter visas Debug-prompten, "-". Användaren kan då ange ett av flera kommandon med en eller två bokstäver, inklusive "a" för att gå in i assembler mode, "d" för att gör en hexadecimal dump, "t" för att spåra (trace) och "u" för att disassemblera (unassemble) ett program i minnet.[4] Debug kan också användas som "debug script" interpretator med följande syntax.

debug < FileName 

En script-fil kan innehålla Debug-kommandon och assemblerinstruktioner.[5] Denna metod kan användas för att skapa eller editera binärfiler från batchfiler.[2]

Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia, Debug (command), 16 juni 2013.

Externa länkar

[redigera | redigera wikitext]