MacTech Network:   MacForge.net  |  Computer Memory  |  Register Domains  |  Printer Supplies  |  Cables  |  iPod Deals  |  Mac Deals  |  Mac Book Shelf


  MacTech Magazine

The journal of Macintosh technology

 
 
BetterRam.com

Magazine In Print
  About MacTech  
  Home Page  
  Subscribe  
  Archives DVD  
  Submit News  
  Submit a Tip!  
  Get a copy of MacTech RISK FREE  
Google
Entire Web
mactech.com
Mac Community
More...
MacTech Central
  by Category  
  by Company  
  by Product  
MacTech News
  MacTech News  
  Previous News  
  MacTech RSS  
Article Archives
  Show Indices  
  by Volume  
  by Author  
  Source Code FTP  
Inside MacTech
  Writer's Kit  
  Editorial Staff  
  Editorial Calendar  
  Back Issues  
  Advertising  
Contact Us
  Customer Service  
  MacTech Store  
  Legal/Disclaimers  
  Webmaster Feedback  
ADVERTISEMENT
Click Here

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.



Click here to find out more about our best subscription bundle deal ever!
2 years of the magazine, and the all new MacTech DVD ... at 70% off!



Click on the cover to
see this month's issue!

TRIAL SUBSCRIPTION
Get a RISK-FREE subscription to the only technical Mac magazine!
 
 


MacTech Magazine. www.mactech.com
Toll Free 877-MACTECH, Outside US/Canada: 805-494-9797

Register Low Cost (ok dirt cheap!) Domain Names in the MacTech Domain Store. As low as $1.99!
Save on brand compatible and name brank ink jet and laser supplies.
Save on long distance * Upgrade your Computer
Movies with No Late Fees!

See local info about Westlake Village
SJ * BRJ * BJ * OJ * NITS
Staff Site Links



All contents are Copyright 1984-2007 by Xplain Corporation. All rights reserved.

MacTech is a registered trademark of Xplain Corporation. Xplain, Video Depot, Movie Depot, Palm OS Depot, Explain It, MacDev, MacDev-1, THINK Reference, NetProfessional, NetProLive, JavaTech, WebTech, BeTech, LinuxTech, Apple Expo, MacTech Central and the MacTutorMan are trademarks or service marks of Xplain Corporation. Sprocket is a registered trademark of eSprocket Corporation. Other trademarks and copyrights appearing in this printing or software remain the property of their respective holders.