Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
MacsBug
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Low-level debugger, originally for Motorola 68000}} {{Infobox software | name = MacsBug | logo = | screenshot = MacsBug 6.6.3 Screenshot.png | caption = The MacsBug debugger interface | developer = [[Motorola]], [[Apple Computer]] | released = {{Start date and age|1979}} | latest_release_version = 6.6.3 | latest_release_date = {{Start date and age|2000|09|14}} | latest_preview_version = | latest_preview_date = | operating_system = [[Classic Mac OS]] | platform = [[680x0]] and [[PowerPC]] | genre = [[debugger]] | license = }} '''MacsBug''' is a low-level ([[assembly language]]/machine-level) [[debugger]] for the [[classic Mac OS]] operating system. MacsBug is an acronym for '''''M'''otorola '''A'''dvanced '''C'''omputer '''S'''ystems De'''bug'''ger'', as opposed to ''Macintosh debugger'' (The Motorola 68000 Microprocessor is imprinted with the MACSS acronym<ref name="cpu-world">{{cite web|url=http://www.cpu-world.com/CPUs/68000/L_Motorola-XC68000L%20(SN807).jpg|title=Image: L_Motorola-XC68000L%20(SN807).jpg, (890 × 425 px)|publisher=cpu-world.com|accessdate=2015-09-02}}</ref>). The original version was developed by Motorola as a general debugger for its [[Motorola 68000|68000]] systems.<ref>{{cite web|url=https://doc.lagout.org/science/0_Computer%20Science/0_Computer%20History/old-hardware/corvus/Corvus_Concept/manuals/7100-01387_Macsbug_68000_Debugger_Users_Guide_Mar83.pdf|title=MACSbug 68000 Debugger User's Manual]|publisher=Corvus Systems|date=March 1983|quote=Much of the information contained in this manual is reprinted with the permission of Motorola Inc. from the Motorola MC68000 Design Module User's Guide (Motorola part number MEX68KDM(D4) AUGUST, 1980)}}</ref><ref name=chmMacsbug>[https://www.computerhistory.org/collections/catalog/102664866 MACSbug 68000 Debugger User's Manual], Catalog entry, [[Computer History Museum]]</ref> — 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 [[disassembler|disassembling]], searching, and viewing data as well as control over [[processor register]]s. MacsBug is not installed by default with Mac OS, although every Macintosh since the Macintosh Plus includes a debugger in ROM known as MicroBug.<ref name="fenestrated">{{cite web|url=http://www.fenestrated.net/~macman/mirrors/Apple%20Technotes%20(As%20of%202002)/tn/pdf/tn1136.pdf|date=11 February 2001|author=Karl Dandenell|title=TN 1136: MicroBug: The ROM Debugger|accessdate=2015-09-02|url-status=dead|archiveurl=https://web.archive.org/web/20141113174222if_/http://www.fenestrated.net/~macman/mirrors/Apple%20Technotes%20(As%20of%202002)/tn/pdf/tn1136.pdf|archivedate=2014-11-13}}</ref> Users who 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 (software)|Finder]]) or '''RB''' for ReBoot, which restarted the system.<ref>{{cite web |url=https://developer.apple.com/tools/debuggers/MacsBug/Documentation/MacsBugRef_6.2.pdf |date=1995 |title=MacsBug Reference and Debugging Guide |website=developer.apple.com |archive-url=https://web.archive.org/web/20110605022118/http://developer.apple.com/tools/debuggers/MacsBug/Documentation/MacsBugRef_6.2.pdf |archive-date=June 5, 2011}}</ref> 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 [[Peripheral Component Interconnect|PCI]] I/O space. It can also be used in [[Classic (Mac OS X)|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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)