Date: Mon, 14 Mar 94 10:38:43 EST From: peprbv AT cfa0 DOT harvard DOT edu (Bob Babcock) To: terra AT diku DOT dk Cc: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Re: How do you debug a debugger? Reply-To: babcock AT cfa DOT harvard DOT edu > You're welcome -- version 1.00 is due "very soon now" featuring a lot > of extensions. I'll try to add your corrections also. I looked a little more at the problem with sleep(1). As far as I can tell, the problem is in gettimeofday() in gettimeo.s. This just sets al=4 and jumps to turbo_assist which expects ebx and ecx to contain valid pointers or zero. Unless I'm missing something, the contents of ebx and ecx are random at this point. I still don't understand the change I made in read.s. I noticed a few cosmetic problems. Long source lines overwrite the adjacent window and error messages at the top of the screen don't get cleared. (For example, hit control-g and enter an unknown name.) It might be easier to read the screen if you displayed the C source and disassembly in different colors. The manual should say that you invoke the debugger by go32 -d sallyxxx filename This isn't obvious for a first-time user. If you really want to look like the Turbo Debugger, you need to interchange the order of operands in the disassembly. I don't know if doing this would be easy or hard, but I do have problems switching between src,dest and dest,src order depending on what I'm debugging.