This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: help string for "break" command


On Fri, 2007-01-12 at 08:49 -0500, Daniel Jacobowitz wrote:
> On Fri, Jan 12, 2007 at 02:45:16PM +0100, Mathieu Lacage wrote:
> > Am I right in assuming that the gdb command "break" places exclusively
> > so-called software-breakpoints while the command "hbreak" places a
> > hardware-breakpoint (I am not sure I have figured out the details of the
> > logic in gdb/breakpoint.c) ? 
> 
> Not 100%.  CVS versions of GDB will use hardware breakpoints
> automatically if you try to set them in truly read-only memory.

I see the following comment in the CVS version:
          /* If the explicitly specified breakpoint type
             is not hardware breakpoint, check the memory map to see
             if the breakpoint address is in read only memory or not.
             Two important cases are:
             - location type is not hardware breakpoint, memory
             is readonly.  We change the type of the location to
             hardware breakpoint.
             - location type is hardware breakpoint, memory is read-write.
             This means we've previously made the location hardware one, but
             then the memory map changed, so we undo.

             When breakpoints are removed, remove_breakpoints will
             use location types we've just set here, the only possible
             problem is that memory map has changed during running program,
             but it's not going to work anyway with current gdb.  */

and it seems to match the decision logic I see below.

Would there be opposition to an 'sbreak' command which would ensure that
a software breakpoint is used _all the time_ ? 

Mathieu
-- 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]