From: "Pierre Muller" <muller@ics.u-strasbg.fr>
To: "'Amker.Cheng'" <amker.cheng@gmail.com>, <gdb@sourceware.org>
Subject: RE: Is this a bug or as designed?
Date: Sun, 22 Feb 2009 10:35:00 -0000 [thread overview]
Message-ID: <001f01c994d9$440433f0$cc0c9bd0$@u-strasbg.fr> (raw)
In-Reply-To: <e8b251c80902220103i1ecf8301n4439b4198edc0cfc@mail.gmail.com>
> -----Message d'origine-----
> De : Amker.Cheng [mailto:amker.cheng@gmail.com]
> Envoyé : Sunday, February 22, 2009 10:03 AM
> À : gdb@sourceware.org
> Cc : Pierre Muller
> Objet : Re: Is this a bug or as designed?
>
> Hi:
>
> Sorry being so late to reply your last message.
> I tried your patch(es) on weekly release gdb-weekly-CVS-
> 6.8.50.20090210.tar.bz2
> and found following problems.
>
> 1
> It seems macro I386_WATCHPOINTS_IN_TARGET_VECTOR was introduced into
> file nm-i386.h some time after version 6.8.
> If your patch applied, It undefines macro
> TARGET_CAN_USE_HARDWARE_WATCHPOINT
> in nm-i386, which breaks gdb when debug on i386 with target exec.
> I checked sources and found that gdb won't push target win32_ops till
> the inferior's
> first running, leading to hardware watchpoint not supported at first,
> like following outputs:
>
> >./gdb.exe
> GNU gdb (GDB) 6.8.50.20090209-cvs
> Copyright (C) 2009 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show
> copying"
> and "show warranty" for details.
> This GDB was configured as "i686-pc-cygwin".
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> (gdb) file dummy.exe
> Reading symbols from
> /cygdrive/g/work/gdb/gdb-updated/native-target/bin/dummy.exe...done.
> (gdb) awatch a
> Target does not support this type of hardware watchpoint.
I am afraid that this is a natural drawback of the idea of
multi-target.
As the target is not yet defined,
you could use 'target remote ...'
later that could not support this feature.
The answer from gdb saying that it does not support
hardware watchpoint at that point is thus logical.
> (gdb)
> -----------------------------cut here
> There are several other macros influenced by
> I386_WATCHPOINTS_IN_TARGET_VECTOR too,
> But I think at least TARGET_CAN_USE_HARDWARE_WATCHPOINT should be moved
> out of
> the #ifndef I386_WATCHPOINTS_IN_TARGET_VECTOR ... #endif context.
>
> I'm afraid this problem also exist under linux now.
You are right that older vdersions of gdb on linux
(I checked 6.4 that was installed on a linux machine
on which I have an acoount) did allow
the 'awatch' command before starting the debuggee,
while current CVS HEAD does not.
> 2
> as why hardware watchpoint not working in windows gdbserver,
> It is because windows gdbserver does not implement the "Z" packets
> right now.
> So it still unavailable after applying your patch.
> I guess maybe the reason is no one will debug win32/linux applications
> remotely.
>
> Anyway I found it's quite easy to support "Z" packets for windows
> gdbserver
> just by reusing following functions in file i386-nat.c:
>
> i386_insert_watchpoint,
> i386_remove_watchpoint,
> i386_stopped_by_watchpoint,
> i386_stopped_data_address,
>
> Thanks
I already submitted a patch that does exactly this.
http://sourceware.org/ml/gdb-patches/2009-02/msg00206.html
Pierre Muller
Pascal language support maintainer for GDB
prev parent reply other threads:[~2009-02-22 10:35 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-11 11:59 Amker.Cheng
2009-02-11 12:31 ` Pierre Muller
2009-02-22 9:03 ` Amker.Cheng
2009-02-22 10:35 ` Pierre Muller [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='001f01c994d9$440433f0$cc0c9bd0$@u-strasbg.fr' \
--to=muller@ics.u-strasbg.fr \
--cc=amker.cheng@gmail.com \
--cc=gdb@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox