delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/09/04/23:38:08

From: sandmann AT clio DOT rice DOT edu (Charles Sandmann)
Message-Id: <10109050334.AA20161@clio.rice.edu>
Subject: Win2K breakpoints
To: djgpp-workers AT delorie DOT com
Date: Tue, 4 Sep 2001 22:34:16 -0500 (CDT)
In-Reply-To: <10109041528.AA15041@clio.rice.edu> from "Charles Sandmann" at Sep 04, 2001 10:28:46 AM
X-Mailer: ELM [version 2.5 PL2]
Mime-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

I had a chance to look at this.  What I have found:

1) On NT 4.0 it appears that more than one hardware breakpoint has never
really worked properly.  You can set more than one, but if one triggers
they all show to be encountered.  (Sigh.)

2) On Win2K it appears the watchpoint handle is not returned at all (oops)
and is left to be the BX value on entry (the upper 16 bits of the address).
This causes the get state and free to fail.  If I added a check on return
if the BX value is not set, and then "assume" the watchpoint handle is
zero (like NT 4.0) debugging under Win2K seems to work about as well as it 
did under NT 4.0.  Handles then get reset properly and they don't get
lost.

If we assume that NT flavors always have handles 0..3, we can then write
some extra loops to set/check/clear these and probably make it work
acceptably well on W2K, and maybe improve the NT 4.0 behavior.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019