온라인 디버깅툴

On-line Debugging Tool

ODT(Online Debugging Tool)는 DEC(Digital Equipment Corporation) 하드웨어용으로 개발된 여러 디버거 프로그램을 설명하는 데 사용되었습니다.OS/8, RT-11, RSX-11RSTS/E포함한 다양한 운영체제는 11/03, 11/23/24, 11/53, 11/73, 11/83/84를 포함한 모든 LSI-11 패밀리 프로세서의 펌웨어 콘솔과 마찬가지로 ODT를 구현했습니다.

디버거를 사용하면 8진수 주소와 데이터를 사용하여 메모리에 액세스할 수 있습니다.소프트웨어 시스템 내에서 디버거가 프로세스의 주소 공간에 액세스했습니다.DEC의 PDP-11 프로세서 라인은 운영 체제의 관점에서 가상 메모리를 구현하지 않고 Active Page Register(APR)를 사용하여 프로그램 주소 공간의 통합 뷰에 매핑된 고정 주소 공간에서 작동합니다.APR은 프로그램의 RAM을 4K의 16비트 워드 단위로 최대 32K까지 매핑할 수 있습니다.즉, APR은 각각 4K로 제한된 8개의 RAM 세그먼트를 매핑할 수 있습니다.이 구조 때문에 APR에서 매핑할 수 있는 최대 RAM은 32K 16비트 워드였습니다.RSTS/E의 경우, 이는 보통 Runtime System(RTS)이 주소 공간의 상부에 매핑되고 사용자 프로그램이 주소 공간의 하부에 상주함을 의미합니다.RTS는 사용자 프로그램을 대신하여 운영시스템에 대한 접근을 지원하기 위한 코드를 제공했습니다.RTS는 통상 읽기 전용이었기 때문에 RTS 자체는 사용자 프로그램의 주소 공간에 비정적 데이터를 저장했습니다.오퍼레이팅시스템은 RTS의 1개의 복사본을 로드하여 RTS를 필요로 하는 모든 사용자 프로그램에 매핑하였습니다.APR은 RTS를 프로그램 주소 공간의 상부에 4K 단위로 매핑하도록 설정됩니다.따라서 BASIC Plus RTS(Basic+ Programming Language용)는 일반적으로 16K를 자신에게 매핑하고 사용자 프로그램은 16K 하위에서 4K 단위로 매핑했습니다.RT11 RTS는 4K를 점유하고 있기 때문에 RT11 기반의 Peripheral Interchange Program(PIP) 등의 사용자 프로그램은 최대 28K까지 확장할 수 있습니다.

ODT는 RTS와 같은 바이너리 모듈을 "패치"하기 위해 사용할 수 있으며 바이너리 소스를 다시 컴파일할 필요가 없습니다.

펌웨어 콘솔 구현에서 물리적 메모리에 액세스했습니다.

ODT는 비심볼릭 디버거이며 Unix 시스템에서 Advanced Debugger(adb)와 유사한 기능을 구현합니다.

콘솔 ODT

콘솔 ODT는[1] 많은 이전 프로세서의 라이트와 스위치 콘솔을 대체했습니다.

콘솔 ODT에 대한 액세스는 전원 켜기(적절한 전원 켜기 모드를 선택한 상태), 커널 모드에서 HALT 명령을 실행하거나 전면 패널 중지 스위치 또는 버튼을 사용하여 얻을 수 있습니다.

@1000/xxxxxxxx112737<LF> 001002 xxxxxxx101 <LF> 001004 xxxxxx 177566 <LF> 001006 xxxxxx 137 <LF> 0010 xxxxxxxx 1000 <CR>>R7/xxxxxxx 1000<CR>>RS/340

이것으로 프로그램이 보증됩니다.

 무브 'A', @#177566  ; 콘솔 전송 레지스터로 'A'를 이동합니다.  JMP @#1000        ; 시작하려면 뒤로 건너뛰기 

PC [Program Counter]에 입금하면 PC가 프로그램 시작으로 설정되고 PSW [Program Status Word]에 입금되면 인터럽트가 잠깁니다.

그 결과 콘솔에 "A" 스트림을 씁니다.송신기 준비가 되어 있지 않기 때문에, 대량의 가비지 문자가 표시될 가능성이 높아집니다.

RSX-11M-Plus ODT

RSX-11M-Plus ODT는[2] 기본적으로 다른 모든 ODT 구현의 슈퍼셋입니다.

ODT는 Task Builder /DA 스위치를 사용하여 태스크와 연결된 코드로 구현됩니다.

TKB HELLO/DA, HELLO/CR=HELLO

ODT로 작성된 작업이 실행되면 입력 시 ODT가 실행됩니다.

HELLO ODT 실행:TT0 _

밑줄은 표준 ODT 프롬프트입니다.

ODT 디버거의 주소는 ODT가 동작하고 있는 모드의 16비트주소로 콘솔 ODT에서 사용되는 물리 주소가 아닙니다.

OS/8 옥탈 디버깅 기술

PDP-8의 OS/8 운영 체제의 ODT 명령어는[3] Octal Debugging Technical 툴을 호출했습니다.

후속 PDP-11 ODT 프로그램과 마찬가지로 비심볼릭이며 메모리를 검사 또는 변경할 수 있으며 중단점을 설정할 수도 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ p192-202 PDP-11 프로세서 핸드북: pdp11/04/24/34a/44/70, 디지털, 1981
  2. ^ IAS/RSX-11 ODT 참조 설명서, 주문 번호 AA-M507A-TC, 디지털, 1982
  3. ^ 참조 매뉴얼 DEC-D8-COCO-D, ODT-8, 1967년 12월"DEC-D8-COCO-D ODT.pdf" (PDF). BitSavers.org.