This article originally appeared in TidBITS on 1993-08-02 at 12:00 p.m.
The permanent URL for this article is: http://db.tidbits.com/article/2475
Include images: Off

ResEdit Hacking MacsBug

by Adam C. Engst

Anyone who runs an unattended server Mac will appreciate a little-known feature of MacsBug 6.2.2. You can define a FirstTime/EveryTime macro that automatically restarts the Mac if it crashes into MacsBug, rather than sitting with an error message on its screen. You need ResEdit to do this, and all standard warnings about ResEdit corrupting the moral fiber of today's youth apply.

But first, some background. MacsBug is a free low-level debugger from Apple that normally only programmers use. However, MacsBug has a few commands useful to non-programmers, and I find that MacsBug sometimes helps me identify guilty applications when I have strange crashes. Here are the basic MacsBug commands for non-programmers:

As I said, you can define a macro that will run automatically when MacsBug is entered. Note that this by no means solves any problems - it's like replacing a fuse immediately after it blows without checking why the fuse blew. It's useful for keeping a Mac that crashes occasionally running most of the time. A MacsBug wizard might be able to modify the macro to open a log file, do a few things (like a stack crawl, or at least log the reason MacsBug was called), close the log, and then restart. The user would then have a record of what happened and why, which could be shared with the developer. However, that's beyond my MacsBug skills, although I'm willing to accept clarifications or modifications. On to the hack!

Make sure that both MacsBug and the modified Debugger Prefs file are loose in the System Folder (not in any special System 7 folders), and reboot. The next time the Mac crashes and enters MacsBug (this won't help when the Mac just freezes), the macro will restart the Mac. Test it by hitting the interrupt switch.

MacsBug is available on <ftp.apple.com> as:

/dts/mac/tools/macsbug/macsbug-6-2-2.hqx

If you use the Centris 610 and low-end 650 with the 68LC040 chip, you need a special version of MacsBug, which is available as:

/dts/mac/tools/macsbug/macsbug-68040lc.hqx

Unfortunately, this special version doesn't include the Debugger Prefs file, so you'll have to get both versions of MacsBug if you have one of the affected Centris models. Rumor has it that you need a new version of MacsBug for the most recent PowerBooks as well, but that might best be a question for APDA, your dealer, or 800/SOS-APPL.

AutoBoot -- Those who want more functionality at the risk of patching a few traps should check out the shareware AutoBoot utility from Karl Pottie. AutoBoot is a Control Panel/Extension that reboots your Mac if a certain amount of time has passed after a System Error or freeze. I haven't used the latest version of AutoBoot, but since it can reboot the Mac after a freeze, it is potentially more useful than my MacsBug hack. However, as an extension, there's always a chance that AutoBoot could conflict with something. If you want to try AutoBoot, it's available for anonymous FTP on sumex-aim.stanford.edu as:

info-mac/cfg/auto-boot-122.hqx
-- Information from:
Karl Pottie -- karl@uz.kuleuven.ac.be