[comp.sys.mac.programmer] Disassemblers / decompilers

levin@bbn.com (Joel B Levin) (03/10/88)

In article <5720@cit-vax.Caltech.Edu> woody@tybalt.caltech.edu.UUCP (William Edward Woody) writes:
:Uh, (1) Yes, Hypercard makes use of the new print manager call PrGeneral
:documented (incompletely--I used MacNosy to figger out the lil' bugger...)
:
:How did I ever figure this out?  I took MacNosy to the _PrLink glue in
:MPW, that's how!

Could someone explain what MacNosy does that TMON (version 2.8)
doesn't?  I've never seen it in person and the articles and ads don't
indicate what is so special.  Not that I think TMON is great (except
it beats the pants off MacsBug), I would just like to know.

E-mail preferred, I'll summarize if requested or if it is warranted.

	Thanks / JBL

UUCP: {harvard, husc6, etc.}!bbn!levin
ARPA: levin@bbn.com

steele@unc.cs.unc.edu (Oliver Steele) (03/11/88)

levin@BBN.COM (Joel B Levin) writes:
>Could someone explain what MacNosy does that TMON (version 2.8)
>doesn't?

o Allows you to disassemble files from disk instead of memory
o Gives symbolic names to cross-segment procedure calls
o Walks the code to find out what's code and what's data
o Puts field labels on memory accesses when it can figure out,
  based on nearby traps, what the data type pointed to by a
  register is
o Lets you manipulate multiple windows easier than TMON will (2-click
  on a function name on a window and use a cmd-key to open up the
  disassembly for that name, or the parameter list for a trap, or the
  fields of a data type)
o Makes lists of what procedures call what, what traps are used, what
  low-memory globals are used, and what procedures use what A5-globals
o Reminds you, by counterexample, how nice the Mac user interface is

I think that Jasik is a very good programmer of conventional computers
who wouldn't know a user interface if it double clicked him.*  Waldemar
Horwat, on the other hand, is a genius who unfortunately hasn't written
a program aimed at the same problem MacNosy is.  MacNosy is better for
disassembling static programs and trying to figure out how they work;
TMON is better for looking at running programs if you need to see what
happens as they run or if you've got source code so you already
understand how the pieces fit together.

----------------------------------------------------------------------------
Oliver Steele					   ...!uunet!mcnc!unc!steele
							   steele@cs.unc.edu
"A sea urchin is the best way to comb the inside
of a hairy tube."		-- Peter Wolfenden

* I KNOW it's a misplaced modifier.  I HATE linear languages (grumble
  grumble grumble...)