![](/file/12652/www.mactech.com.tar/www.mactech.com/sites/all/themes/custom_front/images/you_are_here_red.gif)
![](/file/12652/www.mactech.com.tar/www.mactech.com/sites/default/files/beta-site.gif)
|
BAMADA Notes
James Plamondon
It was Debugger Night in Cupertino at the May BAMADA meeting. The meeting started with Mike Lockwood of Savitar, who demonstrated SourceBug, Apple's new source-level debugger.
SOURCEBUG
SourceBug has special features for debugging MacApp programs, but can be used with non-MacApp programs as well. It requires MPW 3.2 and System 7, or 6.0x with the SADE version of MultiFinder. It looks like a cross between MacBrowse and THINK Pascal's debugger. Its windows contain the source at the bottom, with a class list in the upper left and a method list (for the selected class) in the upper right. There is no fields (aka members) list. Alternatively, a stack crawl can replace the class and method list across the top of the window.To set a breakpoint, drop a stop sign on the statement where you want to stop execution. A pointing finger indicates the current PC, with similar but dimmed fingers indicating each step in the current call chain.
SourceBug supports both source and assembly-level debugging, side by side in different windows, each updated as you step through your code. You can step by source statement or assembly statement, depending on whether a source or assembly window is frontmost.
All in all, SourceBug looks great, with its simplicity, elegance, and ease of use. It's still missing some features, but that's not surprising in a pre-1.0 version. Give it a year or two to mature, and it will be a serious contender.
THE DEBUGGER
Steve Jasik of Jasik Designs presented The Debugger, which is both a high-level debugger, like SourceBug, and a low-level debugger, like MacsBug. The Debugger is not limited to debugging MacApp programs; it can debug anything-DAs, INITs, non-MacApp applications, and XCMDs or other code resources. It uses a hypertext metaphor, allowing the user to select a function name to display its source, a variable name to display its value, or a type name to display its structure.The Debugger contains a complete evaluation language, allowing the user to set breakpoints on arbitrarily complex conditions. Its assembly-language display juxtaposes the assembly and the source that produced it. One can step by source statement or assembly statement, depending on whether the window is displaying a source or assembly listing.
INCREMENTAL BUILD SYSTEM
Having impressed the audience with The Debugger, Jasik went on to wow 'em with the Incremental Build System (IBS). IBS allows you to edit, recompile, and relink portions of your program's source while it is running. To use it, you must break into The Debugger, and take a "side door" into MPW. Once in MPW you can edit the implementation of a number of routines; you can't edit interfaces, however. Then, execute a single menu command and bingo-within 30 seconds you're back in The Debugger, ready to re-enter the application, with the changes linked into the running code. The improvement is dramatic, considering that the alternative is often a five- minute wait for the MPW linker to build a sym file.Everyone was impressed with The Debugger's power and flexibility. The Incremental Build System was a hit. Now, if only Jasik could get his user interface under control, and produce some usable documentation.
OBJECT MASTER
Before yielding the floor, Jasik also demonstrated Acius' new syntax-directed source code editor, Object Master, which is still in development. Object Master communicates with MPW, ToolServer, and IBS via AppleEvent hooks. Object Master's source code editor is full-featured and syntax-aware; you can select which of a half-dozen language editors to use on any given file (such as Object Pascal, C, C++, or Rez). The code is displayed in color, with different colors highlighting comments, keywords, etc.The system works very well with IBS-the editor can automatically tell IBS what routines have been changed, so that only they are recompiled and linked. In MPW, you have to remember to keep track of this yourself, manually.
ObjectMaster is an excellent example of the way a tool should work under System 7.0-it does one thing, and does it well, using AppleEvent hooks to other tools that do the tasks it leaves undone. It also works under System 6.0.x. Of course, it was written in MacApp. It should be released later this year.
ICE PICK
Our final speaker, Chris Arbogast of Exis, demonstrated Ice Pick-a great view editor. It can do a lot of things ViewEdit can't do: multiple selection, derezzing, displaying views in a hierarchical outline, and "running" a window-in which buttons flash, radio button clusters work right, popups pop up, and so forth. Ice Pick, like Object Master, is still under development, but Arbogast was handing out beta versions and non-disclosure agreements right and left after the meeting adjourned.JUNE BAMADA AGENDA
The June meeting of BAMADA will be held Wednesday, June 26, from 7 to 9 p.m. in the Mountain View Room at Apple's City Center Four, 20450 Stevens Creek Boulevard (on the southwest corner of Stevens Creek and De Anza Boulevards).The meeting will feature demonstrations of Object Master and AppMaker. Both applications will be presented by their authors: Loic Vandereyken of Acius will demonstrate Object Master, and Spec Bowers of Bowers Development will demonstrate the latest version of AppMaker. AppMaker is an interface building tool and code generator that has the ability to generate code not just for MacApp, but also for XVT, Windows, and other platforms. Everything you've ever wanted ViewEdit to do, AppMaker does, plus a whole lot more.
A representative of the MacApp Team will be on hand to discuss MacApp 3.0a2, which should hit the streets about that time on Apple's ETO#4 CD. Don't miss this opportunity to hear about, and help define, the future directions of MacApp.
TENTATIVE JULY BAMADA AGENDA
July's BAMADA meeting topic will be "Object Application Frameworks (OAFs) Other Than MacApp." It will feature demonstrations and discussion of up to four OAFs: Borland's Object Windows Library (OWL), CNS' C++/Views, Microsoft's AFX, and Zinc's Zinc Interface Library (ZIL). So far, I have tentative agreement from three of the invited participants, and a firm commitment from the fourth. We'll use the meeting to compare and contrast these OAFs with MacApp.This special meeting will have special hours-6 pm to 10 pm-to make sure we have enough time to get good demos of the OAFs, plus have time for a lively panel discussion at the end. It may also be held in a special location, not yet determined, in order to hold the larger than usual crowd I expect this meeting to attract. All of the OAFs being demonstrated target Microsoft Windows 3.0; two also target the Mac; one also targets DOS in both text and graphics modes.
If you're thinking of porting your MacApp application to any of these other platforms, and you don't want to give up the application framework approach, or if you just want to see how other OAFs compare to MacApp-this is your best chance to get down into the nitty-gritty details of all your alternatives at once.
![](/file/12652/www.mactech.com.tar/www.mactech.com/sites/all/themes/custom_front/img/search_text.gif)
- SPREAD THE WORD:
- Slashdot
- Digg
- Del.icio.us
- Newsvine