home *** CD-ROM | disk | FTP | other *** search
Wrap
Received: from ftp.ardi.com (ftp.ardi.com [204.134.8.1]) by nacm.com (8.6.10/8.6.9) with SMTP id GAA17011 for <executor@nacm.com>; Tue, 28 Nov 1995 06:53:58 -0800 Received: by ftp.ardi.com (Smail3.1.29.1 #3) id m0tKRS7-0007q4C; Tue, 28 Nov 95 07:56 MST Date: Tue, 28 Nov 95 07:56 MST From: ctm@ardi.com (Clifford Thomas Matthews) In-reply-to: steffen@netcom.com's message of Mon, 27 Nov 1995 09:41:54 GMT Newsgroups: comp.os.ms-windows.advocacy,comp.sys.mac.advocacy,comp.emulators.mac.executor Subject: debugging Mac programs (was Re: The Macintosh: A Toy?) References: <42kp5u$ep9@steel.interlog.com> <46uhre$nco@shellx.best.com> <47ja1v$k3@crash.microserve.net> <489o5k$s40@news.aros.net> <petrichDI2zLC.CtK@netcom.com> <48rl6o$bcb@news.aros.net> <jragosta-2111951650550001@ppp-1002.dca.net> <bootstrp-2611951124090001@bootstrap.vnet.net> <steffenDIp4DF.Lzu@netcom.com> Cc: executor@nacm.com Message-ID: <ufn39geqk7.fsf@ftp.ardi.com> Sender: owner-paper@nacm.com Precedence: bulk The following message is a courtesy copy of an article that has been posted as well. I changed the subject, dropped a few newgroups and added c.e.m.e., and because the gateway between the Executor mailing list and c.e.m.e. isn't up yet, I'm manually cc'ing this to the Executor mailing list. >>>>> "David" == David Steffen <steffen@netcom.com> writes: David> bootstrp@vnet.net (Nathan Tennies) wrote: *snip* >> Yeah, Joe, I asked this goof the same question about a week >> ago. No response. Not only have these guys apparently not >> heard of ResEdit, they certainly haven't heard of MacsBug. >> Every Mac in the world has the hardware support to break into >> the middle of any running task, look at the code it is running, >> check the state of its heap, and even watch which calls it is >> making to the MacOS. It's a hacker's dream tool, and I'd love >> to have this capability on my Windows computer. No luck. David> Maybe you will have better luck with SoftIce. Try checking David> out http://www.numega.com David> In short, real hardware breakpoints like an ICE unit David> because it uses hardware breakpoint registers to do its David> job. [snip] I like Macs and I'm not a big fan of the x86 architecture in general, but David is right -- the x86 has the ability to set *hardware* breakpoints that tell you when a memory location has changed value. This feature can be used from gdb under Linux on a PC which, added to real per-process memory protection, makes for a pretty nice debugging environment. At ARDI we've written a Macintosh emulator (http://www.ardi.com/ or comp.emulators.mac.executor for more information) and have it running on both 68040 based NeXTs and PCs running DOS, Linux, Windows, NEXTSTEP, and OS/2 and, in general, we do our debugging on a PC running Linux because of the hardware breakpoint issue and the fact that we've tricked out gdb so that we can switch back and forth between disassembly in 68k mode and x86 mode. So in addition to the tools that normal users of UNIX (and Linux) have on PCs, we also have special purpose tools for debugging Mac programs that let us see all the calls the Mac program is making, dump all the calls a program has made and do all sorts of low-level integrity checks on system data structures. We can even compile our emulator with a special tool that wraps *every* memory reference instruction and then lets us know if any uninitialized memory is ever read. Granted, most of our special purpose tools could be used on non-x86 architectures, but I greatly value memory protection and the hardware watchpoints that we get when we use gdb on an x86. In addition, since we have the source to gdb, we were able to add a very important feature (the ability to disassemble 68k code on an x86) trivially. As a hacker, *my* dream tool would not lack memory protection, hardware watchpoints and complete source. --Cliff ctm@ardi.com