맥스버그

MacsBug
맥스버그
MacsBug 6.6.3 Screenshot.png
MacsBug 디버거 인터페이스
개발자애플 컴퓨터
초기 릴리즈1981; 41년 전 (1998년)
안정적 해제
6.6.3 / 2000년 9월 14일; 21년(2000-09-14)
운영 체제클래식 맥 OS
플랫폼680x0전원PC
유형디버거
웹사이트developer.apple.com/tools/debuggers/MacsBug/ Edit this on Wikidata

MacsBug고전적인 Mac OS(Macintosh 운영 체제)를 위한 로우 레벨(조립 언어/머신 레벨) 디버거다.맥스버그(MacsBug)는 매킨토시 디버거(The Motorola 68000 Microprocessor는 MACSS 약자로[1] 각인됨)와는 반대로 모토로라 어드밴스트 컴퓨터 시스템 디버거(Motorola Advanced Computer Systems Debugger)의 약자다.원본은 모토로라가 자사의 68000 시스템을 위한 일반 디버거로 개발했으며 프로젝트 개발 초기에 프로그래머 도구로 Mac에 포팅되었다.

MacsBug는 Macintosh의 "Programmer's Key"를 누르거나 나중에 알려진 대로 "Interrupt Key"를 누르거나 "Command-Power"를 눌러 호출된다.MacsBug는 프로세서 레지스터에 대한 제어뿐만 아니라 데이터를 분해, 검색 및 보기 위한 많은 명령을 제공한다.Macintosh Plus 이후 모든 Macintosh Plus에는 MicroBug라고 알려진 ROM에 디버거가 포함되어 있지만 Mac OS에서는 기본적으로 MacsBug가 설치되지 않는다.[2]

우연히 MacsBug에 발을 들여놓은 사용자는 G에 들어가 MacsBug에서 탈출하기 위해 리턴을 누르기만 하면 되지만, MacsBug는 기본적으로 설치되지 않아 시스템 확장이 필요하므로 일반적인 사용자 환경에서는 이를 포함하지 않는다.그러나 매우 기본적인 오류 복구 기능을 제공하기 위해 최종 사용자에 의해 설치되기도 했다.기존의 맥 OS는 메모리 보호 기능이 부족했기 때문에 애플리케이션 충돌로 인해 시스템 전체가 얼어붙는 "하드 크래시"도 드물지 않았다.MacsBug가 설치된 경우 응답하지 않는 시스템 대신 사용자는 MacsBug에 덤프되며, 여기서 ES를 입력하여 Shell로 Exit(충돌된 응용 프로그램을 종료하고 Finder로 돌아가도록 강제) 또는 시스템을 다시 시작한 ReBoot용 RB를 입력할 수 있다.[3]이러한 복구 노력은 종종 성공적이지 못했으며, 유일한 대안은 하드 리셋이었다.

Mac OS 버전 7.5 이상에서는 시작 시 MacsBug가 표시되며, 사용자가 Debugger가 설치된 텍스트를 볼 경우 표시된다(하지만, 때때로 이것은 디버거용으로 예약된 메모리 영역에 로드된 다른 소프트웨어의 존재를 나타낼 수 있다).

맥스버그는 원래 모토로라 68000 시리즈 프로세서만을 위한 것이었다.애플이 1994년 파워 매킨토시를 선보였을 때 PowerPC 명령어 세트와 아키텍처를 지원하는 업데이트된 맥스버그가 그 뒤를 이었다.

맥스버그의 마지막 버전은 2000년 9월 14일 발매된 6.6.3이었다. 최종 버전은 파워맥 G4(유니 프로세서 및 멀티 프로세서), 파워맥 G4 큐브, 아이맥 계열(루비, 인디고, 세이지, 흑연, 스노우), 아이북 계열(인디고, 키 라임, 흑연)을 포함하여 2000년 7~9월 사이에 출시된 모든 기계와 함께 작동한다.

6.6.3은 MP 작업을 디버깅하기 위한 더 나은 지원을 포함하며 PCI I/O 공간에서 사용할 경우 메모리 설정 명령에서 일부 심각한 버그를 수정한다.Mac OS X에서 실행할 때도 Classic에서 사용할 수 있으며, 여기서 "expect-inter" (또는 Eject 키가 없는 시스템에서 "expect-F12")를 눌러 호출된다.

Mac OS X는 프로그래머들이 gdb에서 친숙한 MacsBug 명령을 사용할 수 있게 해준다.이 gdb 플러그인은 /usr/libexec/gdb/plugins/MacsBug/ 디렉토리에 있는 OS X Developer Tools에 포함되어 있다.

MacsBug에 대한 제3자 대안으로는 Darin Adler Extended User Area & Trap Gergulation(모든 문서화된 Mac API 매개변수 검증 허용)과 함께 제공되는 ICOM Simulation의 TMON과 훨씬 강력했지만 복잡하고 비표준적인 사용자 인터페이스로 인해 사용하기 어려웠던 완전히 상징적인 Jasik 디버거가 포함되었다.

참조

  1. ^ "Image: L_Motorola-XC68000L%20(SN807).jpg, (890 × 425 px)". cpu-world.com. Retrieved 2015-09-02.
  2. ^ Karl Dandenell (11 February 2001). "TN 1136: MicroBug: The ROM Debugger" (PDF). Retrieved 2015-09-02.
  3. ^ https://developer.apple.com/tools/debuggers/MacsBug/Documentation/MacsBugRef_6.2.pdf 2011년 6월 5일 웨이백 머신보관

외부 링크