[RFA] Fix troubles with watchpoints in DJGPP

Eli Zaretskii eliz@gnu.org
Thu May 28 08:21:00 GMT 2009


> From: "Pierre Muller" <muller@ics.u-strasbg.fr>
> Cc: <gdb-patches@sourceware.org>
> Date: Wed, 27 May 2009 22:53:31 +0200
> 
> (gdb) watch gdb_stderr
> Watchpoint 1: gdb_stderr
> (gdb) r
> Starting program: e:/cygwin/usr/local/src/gdbcvs/djbuild/gdb/./gdb.exe
> Watchpoint 1: gdb_stderr
> 
> Old value = <unreadable>
> New value = (struct ui_file *) 0x0
> 0x00001a91 in start ()
> (gdb) inf watch
> Num     Type           Disp Enb Address    What
> 1       watchpoint     keep y              gdb_stderr
>         breakpoint already hit 1 time
> (gdb) q

Thanks, but this example is for the second (and the main) problem you
mention in your original message, the one with watchpoints.  You also
reported another problem:

> > > (bad file descriptor errors when trying to restart
> > > a ./gdb executable at level 2, meaning inside another gdb
> > > itself being debugged by gdb).

Can you show an example of these ``bad file descriptor errors''?  I
don't think I ever saw them.

Thanks.

> > > PS-2) Eli,
> > > do you have anything that could help me debug the
> > > Bad file descriptor problems, like a library recording
> > > file opening/closing using the DJGPP file system extensions?
> > 
> > No, but you can put a breakpoint on the respective library functions,
> > couldn't you?
> 
>   I discovered that there is already something in
> dbgcom.c, but I wanted to have dup and dup2 calls 
> be monitored also, as the problem seems related to
> handles of that type... But dup and dup2
> never generate a call to the FSEXT function,
> which make it not useful for that :(

First, I meant to actually put a breakpoint on each of the functions
you are interested in; that doesn't need any FSEXT hooks.  And second,
I don't understand the nature of your problems with FSEXT: dup and
dup2 do make a copy of the FSEXT hook of the original file descriptor,
so if the original descriptor was hooked by an FSEXT, the duplicated
descriptor will be hooked as well.  What am I missing?



More information about the Gdb-patches mailing list