home *** CD-ROM | disk | FTP | other *** search
- 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
-
-