Sep 94 Tips
|Column Tag:||Tips &TidBits
By Scott T Boyd, Editor
Tip Of The Month
EveryTime Macro in MacsBug
When your application gets closer to its final version and reaches other people than yourself, wouldnt it be nice if there was a logging function, which could add a stack dump to a log file, if the application should crash?
There is an easy way to do this, and it requires no change to your code. MacsBug has the this facility among several others, and these features can be set up for easy use.
Open up your Debugger Prefs file with your favorite resource editor
Add a new 'mxbm' resource to define a macro.
Name the macro EveryTime (thats one word, no spaces)
Define the macro as "log crash.log;how;td;sc;ip;hc;log;es;"
Save the file.
The macro opens a log file named crash.log, gets MacsBug to tell what happened to cause the debugger to catch an exception, dump all the registers, do a stack crawl, disassemble around the PC, check the heaps validity, turn off the log file, and ExitToShell.
You now have a Debugger Prefs file which will create a crash log whenever the machine winds up in MacsBug. MacsBug will execute a macro named EveryTime every time you enter MacsBug. You probably dont want to use this particular definition on your development machine(s).
Now you can install MacsBug and its Debugger Prefs file on your beta testers machines. Every time they drop into MacsBug (because of some as-yet-undetermined bug in your software), Macsbug creates a logfile with the name bomb.log. The log file will contain information which could be useful, especially if it is one of the crashes which is not so easy to reproduce when you try yourself.
- Henrik Dalgaard
Got a developer tip youve been keeping to yourself but really need to share? Think you have a better trick up your sleeve? Send us your tips and tricks, especially programming-related tips, but dont hold back if youve got programmers user tips.
We want your tips! We pay $25 for every tip used, and $50 for Tip of the Month. You can take your award in orders or subscriptions if you prefer.
Make sure code compiles, and send tips by e-mail. See page two for our addresses.
Team Development Tools
Excel Software has enhanced its MacAnalyst and MacDesigner suite of CASE tools to facilitate team development. Teams can now have multi-user, read-write access to data dictionary and requirement documents for software development projects. The tools provide a history of whats been done by other team members, and which documents theyve been working on.
Team Dictionary and Team Requirement documents allow each user to concurrently add, modify, or delete information in the shared document. Special attention was paid to speed, and the use of a cooperative client model avoided the need for a separate server.
MacAnalyst and MacDesigner site licenses start at $2985, and go up to $14975 based on product options. Single license products start at $995. Onsite training and update services are available. For more info, contact Harold Halbleib at Excel Software, POBox 1414, Marshalltown, IA 50158. (515) 752-5359 voice, (515) 752-2435 fax, AppleLink CASE.
Cross-Platform Document Libraries
PAIGE, from DataPak software, offers a cross-platform library for developers who want to incorporate text editing, page layout, or multimedia into their applications. Anything can be embedded into a traditional text stream, even if it isnt text at all - pictures, arbitrary objects, buttons, hypertext links. It can also handle straight stylized text of virtually any length, all of which can be enclosed inside or outside non-rectangular shapes.
The libraries support scaling, so you can see and edit, even at print resolution. Formatting includes kerning, hidden text, and variable tab stops. They offer WorldScript II compatibility, mail-merge support, variable line spacing, style-sheet support, and virtual memory and file I/O support. They support discontinuous selections, multiple-level undo, and claim that their code is tight and fast.
The code is broken into multiple libraries, so you can link only with the features you need. For even more features, contact DataPak.
PAIGE is sold royalty free, and there are no distribution fees. Licensing covers use of the product for one application and one developer. Additional seats are available. Per platform $3,500. Each additional Seat $250. Source code is available $25,000, each additional seat $250. Site licenses are also available. Contact DataPak at 9317 NEHighway 99, Suite G, Vancouver, WA 98665-8900. (206) 573-9155 voice, (206) 573-9269 fax, (800) 327-6703 sales. AppleLink D0142, Internet firstname.lastname@example.org, CompuServe 76424,3027, and AOLDatapak1.