[comp.sys.mac] Debugging and Lightspeed C

brooks@jumbo.dec.com (Ken Brooks) (06/01/87)

I'm using Lightspeed C, and I'm happy with all of it except the
debugging.  Macsbug is just too low-level.  In particular, I really
wish I had symbols for variables (globals at least!) and some level of
coordination with the source.  Are there any debuggers out there,
compatible with LSC, that provide this?  Or that in other ways improve
upon Macsbug?  What do people recommend, and where can I get it?

Incidentally, I just converted to version 2.0 of Lightspeed C, and now
Macsbug (the Maxbug version) doesn't see any symbols at all!  I
carefully made sure that the "Macsbug symbols" option was checked, and
recompiled everything.  No help.  Does anyone recognize the problem, or
know a solution?

Ken Brooks

eer@ritcv.UUCP (06/04/87)

In article <808@jumbo.dec.com> brooks@jumbo.UUCP (Ken Brooks) writes:
>
>I'm using Lightspeed C, and I'm happy with all of it except the
>debugging.  Macsbug is just too low-level.  In particular, I really
>wish I had symbols for variables (globals at least!) and some level of
>coordination with the source.  Are there any debuggers out there,
>compatible with LSC, that provide this?  Or that in other ways improve
>upon Macsbug?  What do people recommend, and where can I get it?

See Steve Jasik's Debugger - adds appearing in MacTutor monthly, and
other hacker rags.  Works with his MacNosy, which I find essential for
real debugging (with no assembly out switch on LSC).  I haven't played
with it yet, but Jasik is such a fanatic, and MacNosy has improved
so much in the last year, I've got to believe it's worth whatever
he's asking for it.  And I do believe he's now reading the LSC
Project files for symbolic names.

Good luck.
Ed
------------
disclaimer - I don't owe Steve Jasik anything, and he doesn't owe
me anything.

-- 
-------------------------------------------------
Ed Reed - Rochester Institute of Technology
phone:    (716) 334-3006
Delphi:   EERTEST
GEnie:    SQA.INC
Usenet:   ...rochester!ritcv!eer
-------------------------------------------------

kevin@trsvax.UUCP (06/05/87)

Version 2.0 of Lightspeed C doesn't generate a Macsbug symbol if the procedure
has no stack frame (no arguments and no non-register local variables).  You
can force it to generate the name by generating a stack frame (declare a
dummy variable or a dummy argument).  Hope this helps.

kevin dack
..!microsoft!trsvax!kevin

omh@nancy.UUCP (06/07/87)

In article <808@jumbo.dec.com> brooks@jumbo.UUCP (Ken Brooks) writes:
>
>I'm using Lightspeed C, and I'm happy with all of it except the
>debugging.  Macsbug is just too low-level.  In particular, I really
>wish I had symbols for variables (globals at least!) and some level of
>coordination with the source.  Are there any debuggers out there,
>compatible with LSC, that provide this?  Or that in other ways improve
>upon Macsbug?  What do people recommend, and where can I get it?
>
>Incidentally, I just converted to version 2.0 of Lightspeed C, and now
>Macsbug (the Maxbug version) doesn't see any symbols at all!  I
>carefully made sure that the "Macsbug symbols" option was checked, and
>recompiled everything.  No help.  Does anyone recognize the problem, or
>know a solution?
>
>Ken Brooks

I'm using TMON, which does quite a good job of debugging.  Being able to
open several windows into disassembly, memory locations makes it really
worth the while.

If you have one of the latest user areas, and you have Steve Jasik's Nosy,
you can generate procedure names for TMON.  Just Nosy the file until you're
satisfied, then save a .map file (on the closing dialog box) and then
read in the .map file after saving some space for labels in the user area of
TMON.  This came in quite handy for me when I was trying to reposition some
text for pre-printed forms in an accounting program.

You also might want to make sure you have the latest version of Macsbug
(I think it's version 5.0, but I may be wrong).

Good luck,
Owen


Owen Hartnett
Brown University Computer Science

omh@cs.brown.edu.CSNET 
omh%cs.brown.edu@relay.cs.net-relay.ARPA
{ihnp4,allegra}!brunix!omh

han@apple.UUCP (06/08/87)

In article <808@jumbo.dec.com> brooks@jumbo.UUCP (Ken Brooks) writes:
>
>I'm using Lightspeed C, and I'm happy with all of it except the
>debugging.  Macsbug is just too low-level.  In particular, I really
>wish I had symbols for variables (globals at least!) and some level of
>coordination with the source.  Are there any debuggers out there,
>compatible with LSC, that provide this?  Or that in other ways improve
>upon Macsbug?  What do people recommend, and where can I get it?
>
>Incidentally, I just converted to version 2.0 of Lightspeed C, and now
>Macsbug (the Maxbug version) doesn't see any symbols at all!  I
>carefully made sure that the "Macsbug symbols" option was checked, and
>recompiled everything.  No help.  Does anyone recognize the problem, or
>know a solution?
>
>Ken Brooks
> 
In the Lightspeed C 2.0 supplement which comes with your new disks,
section 4 describes changes to the compiler.  On page 14 of the supplment,
"Stack Frames and the 'Macsbug Symbols' Option"  describes some changes.
Macsbug symbols are only inserted for functions with stack frames i.e. they
allocate some sort of dummy argument or local storage (non register type)

Hope this helps.


=====================================================================
Byron Han            |   UUCP:  {sun,voder,nsc,mtxinu,dual}!apple!han
Apple Computer, Inc. |  CSNET: han@apple.csnet 
20525 Mariani Ave,   | ATTNet: 408-973-6450
Cupertino, CA 95014  |  GENIE: BYRONHAN
MS 27Y               | CSERVE: 72167,1664
=====================================================================
All opinions and statements do not necessarily represent those of my
employer, Apple Computer Inc.
=====================================================================

davis@wanginst.EDU (Franklin Davis) (06/09/87)

In article <808@jumbo.dec.com> brooks@jumbo.UUCP (Ken Brooks) writes:
>
>I'm using Lightspeed C, and I'm happy with all of it except the
>debugging.  Macsbug is just too low-level.  In particular, I really
>wish I had symbols for variables (globals at least!) and some level of
>coordination with the source.  Are there any debuggers out there,
>compatible with LSC, that provide this?  Or that in other ways improve
>upon Macsbug?  What do people recommend, and where can I get it?

I learned some interesting things about LSC and LSP at a talk here last
week by Michael Kahl, who single-handedly developed LSC. 

He's working on version 3.0, and that will have a full debugger,
somewhat in the style of LSP.  (For those who don't know, the two
products are entirely separate -- Michael developed LSC from scratch.
LSP apparently evolved from MacPascal.)  He will also rewrite a lot of
LSC to improve just about everything, it seems.

I asked him what debugger he uses, and he told me TMON.  The net
recently had good reports of "The Debugger," but I haven't seen it.

It was a fascinating talk, though he's constrained not to give away
the really juicy stuff.  Must be frustrating, eh Mike?

--Franklin
-- 
Love's mysteries in souls do grow,
  But yet the body is his book.              --John Donne

franklin a. davis (fad)                      ...roll away...the dew...

ephraim@wang7.UUCP (06/10/87)

In article <16146@brunix.UUCP>, omh@nancy (Owen M. Hartnett) writes:
> 
> You also might want to make sure you have the latest version of Macsbug
> (I think it's version 5.0, but I may be wrong).
>
Until yesterday, I thought the latest Macsbug was 5.2.  Now, I hear that
it's 5.3A12, available with MPW 2.0B1 from APDA.  Variations on this version
are available for Mac II support (the old Macsbug doesn't work at all), but
5.3 also has improvements for users of ordinary Macs.  I'm told that these
include: permanent register display at top of screen; use of upper/lower
case; and distinction between upper/lower case symbols, resource types, and
whatever else uses labels.

It's still not TMON, but it's getting better.

-- 
Ephraim Vishniac
masscomp!wang7!ephraim

han@apple.UUCP (Byron Han) (06/10/87)

Speaking with Think Technologies lately, they have a lot planned.  Believe it
or not, not everyone at Apple uses MPW exclusively.  Both LSC and LSP are
looking for some pretty nifty enhancements.  So hold onto your hats folks...


=====================================================================
Byron Han            |   UUCP: {sun,voder,nsc,mtxinu,dual}!apple!han
Apple Computer, Inc. |  CSNET: han@apple.csnet 
20525 Mariani Ave,   | ATTNet: 408-973-6450
Cupertino, CA 95014  |  GENIE: BYRONHAN       APPLELINK: HAN1
MS 27Y               | CSERVE: 72167,1664
=====================================================================
All opinions and statements do not necessarily represent those of my
employer, Apple Computer Inc.
=====================================================================

jimb@dopey.AMD.COM (Jim Budler) (06/24/87)

In article <116@wang7.UUCP> ephraim@wang7.UUCP (ephraim) writes:
>In article <16146@brunix.UUCP>, omh@nancy (Owen M. Hartnett) writes:
>> 
>> You also might want to make sure you have the latest version of Macsbug
>> (I think it's version 5.0, but I may be wrong).
>>
>Until yesterday, I thought the latest Macsbug was 5.2.  Now, I hear that
>it's 5.3A12, available with MPW 2.0B1 from APDA.  Variations on this version
>are available for Mac II support (the old Macsbug doesn't work at all), but
>5.3 also has improvements for users of ordinary Macs.  I'm told that these
>include: permanent register display at top of screen; use of upper/lower
>case; and distinction between upper/lower case symbols, resource types, and
>whatever else uses labels.
>
>It's still not TMON, but it's getting better.

I learned about 5.3 Macsbug in the mail from Apple last week, when I got a
package in the mail from them containing MDS 2.1. I bought the upgrade to 2.0
when they announced it last fall.

It included some new trap files, a version 2.1 Edit, 4 MacII Macsbugs5.3 for
various memory configurations, and of course Macsbug5.3 for 512K, Ke, Plus
and SE.

DV gives:
Macsbug 5.3 23-Apr-87 13:45:08 written by Dan Allen


-- 
+      Jim Budler      Advanced Micro Devices, Inc.      (408) 749-5806      +
+  Compuserve: 72415,1200; Delphi: JIMBUDLER;  Usenet: jimb@amdcad.AMD.COM   +