Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!lll-winken!uunet!cbmvax!vu-vlsi!swatsun!jackiw From: jackiw@cs.swarthmore.edu (Nick Jackiw) Newsgroups: comp.sys.mac.programmer Subject: Re: How do I get Discipline? Message-ID: <2555@ilium.cs.swarthmore.edu> Date: 16 Mar 89 17:07:18 GMT References: <12678@dartvax.Dartmouth.EDU> Reply-To: jackiw@ilium.UUCP (Nick Jackiw) Organization: Visual Geometry Project, Swarthmore College, PA Lines: 50 In article <12678@dartvax.Dartmouth.EDU> earleh@eleazar.dartmouth.edu (Earle R. Horton) writes: > I have heard a lot about something called Discipline, a package which > checks parameters to ToolBox calls. Where is the best place to get it? > > Earle R. Horton. 23 Fletcher Circle, Hanover, NH 03755--Graduate student. Two that I know of: The copy of TMON that I purchased came with Darin Adler's EUA (Extended User Area), which includes two varieties of trap discipline: rigid and lenient. Lenient works pretty well at detecting odd-addresses and other This-MUST-Be-Wrong sort of arguments (although most of the ones its flagged in my code are SOOO wrong that they would've halted the processor shortly thereafter anyway); Rigid works TOO well (in that it complains about a lot of things that are intentional and that work by bending but not breaking the rules). An pre-6.0 Finder used to continually break, for instance. Steve Jasik's _TheDebugger_, included with MacNosy v2, has TrapDiscipline available under its Bondage menu. A relevant quote from the manual: "The values of the various types [of trap args] are checked for range errors. I. E. things that should point into the heap, or a particular heap are checked as such, etc. ... Note that some ROM trap calls are flagged as bad by Discipline, but are OK in the sense that the offending fields will be properly setup when they are used. That is the local context in which Discipline checks the arguments is insufficient relative to the global context of the use of the field." [p. 35] While theDebugger looks feature-laden and more powerful, in general, than TMON, its manual seems to have been composed by amphetamized howler monkeys. I don't object to all of the "unimplemented features," or even to a program that comes with its internal-debugging-data still displayed (cause of the notorious Internet worm...), but WHY OH WHY DO DEBUGGING MANUALS HAVE TO BE SO BADLY WRITTEN? The TMON manual I have is also garbage, though not as bad (and I understand it's been revised). Debuggers are supposed to save us time. A good manual would save lots. I'm waiting on SADE, which I suspect will have at least intelligible, if not well-written, documentation. APDA's way behind on their MPW 3 shipments though... (I love paying a mandatory $12 FedEx bill for a package I'm not going to see for four weeks anyway.) Hope this helps. -- +-------------------+-jackiw@cs.swarthmore.edu / !rutgers!bpa!swatsun!jackiw-+ | nicholas jackiw | jackiw%campus.swarthmore.edu@swarthmr.bitnet | +-------------------+-VGP/MathDept/Swarthmore College, Swarthmore, PA 19081--+ "Ah...I've got this CHRONIC pain." _True Believer_