Software Utilities
Saving Face
Latest Version:1.0.2
Released: 24 September 1997
A handy little program for creating X-Face headers, which are used to encode a small bitmap as ASCII for inclusion in news postings and mail messages.
Available from:
CleanDoc
Latest Version:1.2
Released: 18 December 1995
A developer’s utility for setting color and font preferences for bunchs of Metrowerks CodeWarrior text and project files. It also converts between file types, and sets the type of resource files to your preferences.
- “Extremely useful!”
Available from:
- United Kingdom Sumex mirror FTP
- Apple Sumex mirror FTP
- AMUG Sumex mirror FTP
- Santa Fe Institute FTP (latest version)
DictionaryEdit
Latest Version:1.3
Released: 16 December 1995
A Macintosh application for editing the text-to-speech dictionaries used by Apple’s Speech Manager, which makes full use of the Drag Manager, and allows a choice of voices.
Note: This application is no longer supported. To remove the shareware restriction, hold down the Command, Option, ‘a’ and ‘s’ keys, and choose the Preferences menu item from the File menu.
- “It looks really slick”
Available from:
- UK Sumex mirror FTP
- Apple Sumex mirror FTP
- AMUG Sumex mirror FTP
- Santa Fe Institute FTP (latest version)
ProcessHound
Latest Version:1.0
Released: 13 September 1996
A small utility for viewing, launching and killing processes on the Mac. This is useful for killing faceless background applications (when running disk tools, for example). ProcessHound 1.0 is a fat binary.
Available from:
ColorMacsBug
Latest Version:1.0
Released: 25 August 1994
A Macintosh application used to edit the colors used by the MacsBug debugger. No more boring black and white!
MacsBug can be obtained from Apple’s FTP site, and some information about using MacsBug on the Power PC is available in this develop article. The MacsBug help screens are also online. There is another page of Tips and Tricks for MacsBug here.
- “A nifty hack indeed!”
Available from:
permalink | computing/archaic | 2007.11.19-22:31.00
Using MacsBug
Introduction
MacsBug is a low-level debugger for 68k and PowerPC Macintosh computers. In basic terms, that means that it’s a bit of software that sits at a low level, and kicks in when a problem occurs.
Warning: playing with MacsBug may cause you to lose data in any running applications, and from it you can restart the computer. Don’t mess around with MacsBug with your unsaved 20-page report open in an application.
Obtaining MacsBug
You can download MacsBug from Apple’s servers here.
Installing MacsBug
Unstuff the downloaded archive with Stuffit Expander, if this has not already been done automatically. Drag the MacsBug file into the System Folder — it should just go in the System Folder itself, not in any sub-folders. This is the minimum you need to do. You can also move the ‘PowerPC dcmds’ file into a folder called ‘MacsBug Preferences’ in the ‘Preferences’ folder.
Now restart the computer. You should see the message ‘Debugger installed’ early in the startup process.
Basics
Once MacsBug is intalled, you can activate it (known as “dropping into MacsBug with a user break”) by pressing the Command-power key combination (hold down the command/clover/ apple key, and press the power-on key on the keyboard). MacsBug takes over the screen, showing you a black and white screen with a bunch of scarey-looking hex numbers. Don’t panic!
If you run your machine with MacsBug installed, you may also find that you get dumped into the debugger sometimes. This usually means that the software you are running has hit a bug that MacsBug has detected. If this happens, the safest option is to type ‘es’ to kill the current application, then restart the computer.
Some basic MacsBug commands are as follows:
Command | Meaning | Effect |
---|---|---|
help |
Help | Show help. Type help <subtopic> for help on subtopic. |
g |
Go | Continue execution where it was interrupted |
es |
Exit to shell | Kill the current application |
dx |
Debugger Exchange | Turn user breaks on or off (toggles). Use this avoid invoking MacsBug when an application calls Debugger() or DebugStr(). |
sc |
Stack crawl | Show the stack using A6/R1 links |
sc7 |
Stack crawl | Show return addresses on the stack |
hc all |
Heap check all | Check all heaps |
hc |
Heap check | Check the current heap |
log <filename> |
Log file | Write output of following commands to log file <filename>.
Typing log again toggles the log off. |
stdlog |
Standard log | Write a log file containing general information usefulf for debugging a crash |
Getting a log file for a crashing bug
If you experience a bug that causes crashes, use the following procedure to get a log file to send to tech support, or the author of the software that you think is causing the crash.
Install MacsBug as described above. (Of course you only need to do this once.) Run the software that causes the crash. At the point where it normally crashes, you will, hopefully, get dropped into MacsBug. You’ll know this because the screen changes to show lots of black and white text, with a row of numbers down the left. At this point, simply type ‘stdlog’ (without the quotes) and MacsBug will write a file called “stdlog” to the desktop. Now type ‘es’ to kill the errant application. It’s probably a good idea to restart your Mac at this point.
Now simply attach the stdlog file to an email to the software author.
More information
MacsBug is a much more sophisticated tool than I have suggested here, but using it requires extensive knowledge of low-level system software and hardware details. The following links may be useful if you want to develop your MacsBug expertise:
- MacsBug for non-programmers
- Cools MacsBug tricks
- Michael Crawford’s MacsBug tips and tricks
- The MacsBug help screens online
- A
develop
article about debugging PowerPC code with MacsBug
permalink | computing/archaic | 2007.11.19-22:31.00