디버깅(명령어)

Debug (command)
DEBUG.COM(MS-DOS <= 2.0), DEBUG.
Dosbox 001.png
원저작자팀 패터슨
개발자Microsoft, IBM, 디지털 리서치, Novell, Caldera
기입처MS-DOS: x86 어셈블리 언어
운영 체제DOS, OS/2, Windows
유형디버거
면허증.MS-DOS v2.0, FreeDOS: MIT
OS/2, Windows: 자체 소프트웨어
웹 사이트디버깅

라인 지향 디버거는 DOS, OS/2 Windows와 같은 운영 체제의 외부 명령어입니다(16비트/32비트[1] 버전만 해당).

DEBUG는 어셈블러, 디스어셈블러 또는 16진수 덤프 프로그램으로 기능하여 사용자가 대화식으로 메모리 내용(어셈블리 언어, 16진수 또는 ASCII)을 검사하고 변경을 가하고 COM, EXE 및 기타 파일 형식을 선택적으로 실행할 수 있습니다.또한 특정 Disk 섹터, I/O 포트 및 메모리 주소에 액세스하는 데 사용되는 몇 가지 하위 명령도 있습니다.

개요

DEBUG.COM(다른 명령어 중)를 IBM PC DOS 1.0으로 설정합니다.
Microsoft Windows 95 DEBUG.EXE명령어

종래, 모든 컴퓨터와 operating system에는, 프로그램이 올바르게 [citation needed]동작하고 있는지를 판별하기 위한 유지보수 기능이 포함되어 있었습니다.DEBUG는 86-DOS에서 이 목적을 수행하기 위해 팀 패터슨에 의해 작성되었습니다.패터슨은 1980년대 초에 마이크로소프트에서 일하기 시작했을 때 이 프로그램을 가지고 왔다.DEBUG는 DOS 1.00의 일부이며 MS-DOS/PC DOS 및 Microsoft Windows 일부 버전에 포함되어 있습니다.원래 이름DEBUG.COM실행 파일의 이름이 로 변경되었습니다.DEBUG.EXEMS-DOS 3.2를 [2]사용합니다.

Windows XP 이후 버전 포함DEBUGMS-DOS 호환성을 유지하기 위해 MS-DOS 서브시스템을 사용합니다.16비트 DOS 명령어는 [3]64비트판 Windows에서는 사용할 수 없습니다.

MS-DOS/PC DOS 디버깅에는 몇 가지 제한이 있습니다.

  • 조립/분해 모드에서는 8086 opcode만 지원합니다.
  • 16비트 레지스터에만 액세스할 수 있으며 32비트 확장 레지스터에는 액세스할 수 없습니다.
  • 파일 이름을 지정하기 위해 "N" 하위 명령을 사용하면 파일 이름이 오프셋 DS:5D에서 DS:67(프로그램 세그먼트 접두사 파일 제어 블록 영역)까지 저장됩니다. 즉, 프로그램이 파일을 저장할 수 있는 것은 FAT 8.3 파일 이름 형식뿐입니다.

강화된 DEBUG 패키지에는 Novell DOS 7, OpenDOS 7.01DR-DOS 7.02 이상의 DEBUG 명령어가 포함되어 있습니다.이는 이전 버전의 DR [5][6][7]DOS와 함께 제공된 Digital Research의 이전 Symbolic Instruction Debugger SID/[4]SID86을 다시 구현한 것입니다.MS-DOS/PC DOS의 DEBUG 명령줄 구문과 완전히 호환되지만 Pentium까지 16비트 및 32비트 opcode 지원, 수십 개의 추가 명령어와 서브모드로 확장 모드(/X), 사용자 정의 매크로 및 심볼릭 디버깅 기능을 갖춘 훨씬 강화된 명령줄 구문 지원 등 많은 기능을 제공합니다.ed 레지스터, 로드된 기호 테이블, 수학적 연산 및 기본 변환, 주석 분해기.[8][7]일부 버전에서는 DPMS를 사용하여 "스텔스 모드" 보호 모드 [9]디버거로 기능하기도 했습니다.

FreeDOS 버전의 DEBUG는 Paul Vojta에 의해 개발되었으며 MIT [10]라이선스에 따라 라이센스가 부여됩니다.

32비트 DPMI 프로그램을 지원하는 32비트 클론 "DEBUGX" [11]버전도 존재합니다.HX DOS 익스텐더의 저자인 Andreas "Japheth" Grech는 향상된 DEBUG 버전 0.98에서 1.25를 개발했으며 전 PC DOS 개발자 Vernon C를 개발했습니다.Brooks는 버전 1.26에서 1.[12]32를 추가했습니다.

구문

DEBUG [[ drive : ][ path ]파일명 [파라미터]

DEBUG 프롬프트를 파라미터 없이 DEBUG을 시작하면 "-"가 표시됩니다.그런 다음 사용자는 어셈블러 모드로 들어가는 "A", 16진수 덤프를 실행하는 "D", 추적하는 "T", 메모리 [13]내의 프로그램을 분해(분해)하는 "U" 등 여러 개의 하위 명령 중 하나를 입력할 수 있습니다.DEBUG 는, 다음의 구문을 사용해 「DEBUG 스크립트」인터프리터로서도 사용할 수 있습니다.

DEBUG < filename 

스크립트 파일에는 DEBUG 하위 명령 및 어셈블리 언어 [14]명령이 포함될 수 있습니다. 방법을 사용하여 배치 [2]파일에서 이진 파일을 만들거나 편집할 수 있습니다.

디버깅 이외의 목적으로 사용

DEBUG 유틸리티는 DOS만 설치된 환경에서 바이너리 파일을 편집할 때 유용합니다.부트 섹터 바이러스를 제거하는 방법 중 하나인 디스크 섹터를 편집하는 데도 사용할 수 있습니다.

유용성

MS-DOS 3.3 릴리스에서는 DEBUG 명령어 기술 매뉴얼이 삭제되었지만 EXE2B와 달리 이 명령어는 표준 배포판으로 유지되었습니다.입력.[15]

다른 OS에서의 디버깅

운영 체제인텔[16] ISIS-II 및 iRMX 86,[17] DECTOPS-10[18]TOPS-20,[19] THEOS/[20]OASIS, ZilogZ80-RIO,[21] StratusOpenVOS,[22][23] PC-MOSAROS[24] 제공합니다.DEBUG명령어를 입력합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Microsoft Macro Assembler Reference에 따르면 x64에서는 인라인 어셈블리가 지원되지 않습니다.
  2. ^ a b Sedory, Daniel B. "A Guide to DEBUG". Retrieved 2014-11-29.
  3. ^ MS-DOS 서브시스템명령어
  4. ^ SID-86 User's Guide for CP/M-86 (2 ed.). Digital Research. August 1982 [March 1982]. SID86UG.WS4. Archived from the original on 2019-10-20. Retrieved 2020-02-06. [1] (NB).Emmanuel Roche가 Q, SR 및 Z 명령을 추가하여 다시 입력한 설명서 버전입니다.이 매뉴얼은 CP/M-86 버전용이지만 DR DOS 버전도 비슷합니다.)
  5. ^ Born, Günter (1993). DOS 6 Tuning (in German) (1 ed.). Markt & Technik. ISBN 3-87791-495-0. (NB. MS-DOS DEBUG에 대한 여러 페이지가 있습니다.EXE 및 Symbolic Instruction Debugger SID.DR DOS 5.0/6.0의 EXE).
  6. ^ Paul, Matthias R. (1997-05-24) [1991]. DRDOSTIP.TXT — Tips und Tricks für DR DOS 3.41 - 5.0. MPDOSTIP (in German) (47 ed.). Archived from the original on 2016-11-07. Retrieved 2016-11-07. (NB. SID86(Symbolic Instruction Debugger)에 대한 정보가 있습니다.DR DOS 3.41SID의 EXE.DR-DOS 디버깅의 전신인 EXE in DR DOS 5.0/6.0).EXE)
  7. ^ a b Paul, Matthias R. (2002-01-09). "SID86". Newsgroup: comp.os.cpm. Retrieved 2018-04-08. […] Since the DR-DOS 7.03 DEBUG is still based on the old SID86.EXE, I suggest to run DEBUG 1.51 and enter the extended help system with ?? from the debug prompt. This will give you eight screens full of syntax and feature help. Some of these features were also supported by older issues. […]
  8. ^ 폴, 마티아스 R.(1997-07-30)."성당 참사회 II.5.Allgemeines:Undokumentierte Möglichkeiten 폰 DEBUG"[DEBUG의Undocumented 기능].NWDOS-TIPs — 팁을 &, Tricks rund)노벨 도스 7, mit Blick aufundokumentierte 자세한 내용은 벅스 und Workarounds.MPDOSTIP.157(독일어로)(3판)를 해제한다.그 2017-09-10에 원래에서 Archived..(NB다. NWDOSTIP 2014-09-06 Retrieved.TXT는 Novell DOS 7 및 OpenDOS 7.01관한 포괄적인 작업이며, 문서화되어 있지 않은 많은 기능 및 내부 기능에 대한 설명을 포함합니다.저자의 더 큰 MPDOSTIP.Z의 일부입니다.IP 수집은 최대 2001년까지 유지되며 동시에 많은 사이트에 배포되었습니다.제공된 링크는 HTML 변환된 이전 버전의 NWDOSTIP를 가리키고 있습니다.TXT 파일).
  9. ^ Paul, Matthias R. (2001-04-09). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. MPDOSTIP. Release 183 (in German) (3 ed.).
  10. ^ http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.2/repos/pkg-html/debug.html
  11. ^ Vojta, Paul. "DEBUG README". Archived from the original on 2007-08-24. Retrieved 2007-06-25.
  12. ^ Brooks, Vernon C. (2014-04-08). "Enhanced DEBUG for PC DOS and MS-DOS". PC DOS Retro. Archived from the original on 2020-02-21. Retrieved 2014-05-08.
  13. ^ "Microsoft TechNet Debug article". Retrieved 2008-04-23.
  14. ^ Irvine, Kip R. (2010). "Using Debug". Assembly language for Intel-based computers (PDF) (6th ed.). Prentice Hall. ISBN 978-0-13602212-1. Retrieved 2014-03-18.
  15. ^ Dror, Asael (1988-01-12). "Thank You, IBM". PC Magazine. p. 366.
  16. ^ ISIS II 사용자 가이드
  17. ^ 릴리스 6용 iRMX 86 개요 및 오퍼레이터 레퍼런스 매뉴얼
  18. ^ TOPS-10 Operating System Commands Manual (PDF). Digital Equipment Corporation. August 1980. Retrieved 2019-02-17.
  19. ^ "TOPS-20 Command manual" (PDF).
  20. ^ THEOS/OASIS 사용자 핸드북
  21. ^ Z80-RIO 운영 체제 사용 설명서
  22. ^ http://stratadoc.stratus.com/vos/19.1.0/r098-19/wwhelp/wwhimpl/common/html/r098-19.pdf[베어 URL PDF]
  23. ^ PC-MOS 사용자 가이드
  24. ^ "AROS Research Operating System".

외부 링크