World Library  
Flag as Inappropriate
Email this Article

MacsBug

Article Id: WHEBN0000435698
Reproduction Date:

Title: MacsBug  
Author: World Heritage Encyclopedia
Language: English
Subject: Mac OS, Jasik debugger, Bomb (icon), Mac OS development, Programmer's key
Collection: Apple Inc. Software, Debuggers, Discontinued Development Tools, Mac Os Development
Publisher: World Heritage Encyclopedia
Publication
Date:
 

MacsBug

MacsBug
The MacsBug debugger interface
Developer(s) Apple Computer
Initial release 1981 (1981)
Stable release 6.6.3 / September 14, 2000 (2000-09-14)
Operating system Mac OS
Platform 680x0 and PowerPC
Type debugger

MacsBug is a low-level (assembly language/machine-level) debugger for pre-Mac OS X Macintosh operating systems. MacsBug is an acronym for Motorola Advanced Computer Systems Debugger, as opposed to Macintosh debugger (The Motorola 68000 Microprocessor is imprinted with the MACSS acronym[1]). The original version was developed by Motorola as a general debugger for its 68000 systems — it was ported to the Mac as a programmer's tool early in the project's development.

MacsBug is invoked by hitting the Macintosh's "Programmer's Key" or, as it became later known, the "Interrupt Key" or by pressing "Command-Power". MacsBug offers many commands for disassembling, searching, and viewing data as well as control over processor registers. MacsBug is not installed by default with Mac OS, although every Macintosh since the Macintosh Plus includes a debugger in ROM known as MicroBug.[2]

Users that stumble into MacsBug by accident need only to enter G and press return to escape from MacsBug; however, MacsBug is not installed by default, requiring a system extension, so a typical user environment does not include it. However, it was occasionally installed by end users to provide very basic error recovery. As the classic Mac OS lacked memory protection "hard crashes" where an application crash simply froze the entire system weren't uncommon. With MacsBug installed, instead of an unresponsive system, the user would be dumped into MacsBug, where they could type ES to Exit to Shell (force quit the crashed application and return to the Finder) or RB for ReBoot, which restarted the system.[3] Such recovery efforts were often not successful, with the only alternative a hard reset.

In Mac OS versions 7.5 and later, the presence of MacsBug is indicated at startup; it is present if the user sees the text Debugger installed (although, occasionally, this may indicate the presence of another piece of software loaded into the area of memory reserved for the debugger, instead).

MacsBug was originally for the Motorola 68000 series of processors only. When Apple introduced the Power Macintosh in 1994, it was followed by an updated MacsBug that supported the PowerPC instruction set and architecture.

The last version of MacsBug was 6.6.3, released September 14, 2000. This final version works with all of the machines released in the July–September timeframe of 2000, including the Power Mac G4 (uni- and multi-processor), Power Mac G4 Cube, the iMac family (Ruby, Indigo, Sage, Graphite, and Snow), and the iBook family (Indigo, Key Lime, and Graphite).

6.6.3 includes better support for debugging MP tasks, and fixes some serious bugs in the memory setting commands when used in PCI I/O space. It can also be used in Classic when running under Mac OS X, where it is invoked by pressing "⌘-⏏" (or "⌘-F12" on systems without an Eject key).

Mac OS X allows programmers to use familiar MacsBug commands in gdb. This gdb plugin is included with the OS X Developer Tools, located in the directory /usr/libexec/gdb/plugins/MacsBug/.

Third party alternatives to MacsBug included ICOM Simulations' TMON which came with the Darin Adler Extended User Area & Trap Discipline (allowing all documented Mac API parameters to be verified) and the fully symbolic Jasik debugger, which was much more powerful, but harder to use due to the intricate and non-standard user interface.

References

  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. ^ http://developer.apple.com/tools/debuggers/MacsBug/Documentation/MacsBugRef_6.2.pdf

External links

  • Apple's MacsBug page
  • MacsBug Revisited - MacTech Magazine
  • TMON - MacTech Magazine
  • Macsbug tips and tricks
  • Feralcore, a networked Core War with an underlying virtual machine based on the Motorola 68000 and an interface based on Macsbug.
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.