This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: "tracepoints", "follow-fork-mode", "watch - remote"
- From: Michael Snyder <msnyder at redhat dot com>
- To: "Sarnath K - CTD, Chennai." <k_sarnath at ctd dot hcltech dot com>
- Cc: Pierre Muller <muller at cerbere dot u-strasbg dot fr>, gdb at sources dot redhat dot com
- Date: Thu, 31 Jan 2002 12:25:05 -0800
- Subject: Re: "tracepoints", "follow-fork-mode", "watch - remote"
- Organization: Red Hat, Inc.
- References: <EF836A380096D511AD9000B0D021B52756BFC6@narmada.ctd.hcltech.com>
"Sarnath K - CTD, Chennai." wrote:
>
> Hi,
>
> > I didn't want to say that you should run the progream after.
> > Simply comparing the address of the xbreak with
> > the position of the ret instruction
> > in the function disassembly is enough to
> > show that you are right in saying that this
> > command is buggy for i386 at least.
XBREAK is buggy for all targets, possibly excepting hpux.
It should never have been added, and it will be removed
as soon as I can find the time.
>
> Fine Pierre. You are right.
> I am not sure about the pointers you gave in
> the "sources". I dont have acquaintance with
> at the source level.
>
> And I have 3 more doubts ;)
> I am running GDB 5.1, Pentium III as I had told b4.
>
> 1. This is about tracepoints.
Tracepoints will not work unles you have a gdb stub that
supports them.
> I tried setting "tracepoints" and dumping snapshots.
> But unfortunately I am not able to do it. For the
> commands "tstart" and "tstop" GDB says that
> "Trace can only be run on remote targets.". so I just
> "run" the program. The program executed and exited
> normally. I followed the instructions from "onlinedocs"
> in http://sources.redhat.com. I am not able to dump any
> snapshots. ;(
>
> This is a snapshot of the system:
>
> Program Source:
>
> [root@via1 gdb]# cat trace.c
> int collected_data;
>
> int main()
> {
> collected_data = 3;
> a();
> }
>
> int a()
> {
> return 0;
> }
> [root@via1 gdb]#
>
> Compilation:
> [root@via1 gdb]# cc -g -o trace trace.c
> [root@via1 gdb]#
>
> GDB Session:
>
> [root@via1 gdb]# ./gdb ./trace
> GNU gdb 5.1
> Copyright 2001 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for details.
> This GDB was configured as "i686-pc-linux-gnu"...
> (gdb) trace a
> Tracepoint 1 at 0x80483b7: file trace.c, line 11.
> (gdb) actions
> Enter actions for tracepoint 1, one per line.
> End with a line saying just "end".
> > collect collected_data
> > end
> (gdb) tstart
> Trace can only be run on remote targets.
> (gdb) run
> Starting program: /home/via/sarnath/gdb/./trace
>
> Program exited normally.
> (gdb) tdump
> Trace can only be run on remote targets.
> (gdb) tfind 1
> Trace can only be run on remote targets.
> (gdb)
>
> So, Can't I trace on a standalone system.
> If I use "gdbserver" as on the target side,
> GDB says that "target doesnt support command".
> So whats the solution ? Cant "tracepoints" be
> used ?
Not unles you have a stub that supports them.
> 2. hardware brkpoints, hardware "watch"es are
> not supported in the GDBSERVER. Is this true ?
> or Is there any configutation option for this, which
> I am missing ?
> (PIII machine)
>
> 3. "set follow-fork-mode" always works as if it's value
> is "parent". I am not able to debug "child" or enable
> GDB "ask" for the choice. Is this configuraion, not
> supported on x86 machines or Am I missing something.
Follow-fork is also a command that will not work anywhere
except possibly HPUX.
> /*
> * I am relatively new to GDB envmt. I am just
> * learning the different features.
> * So if I am using GDB in a wrong way, please
> * let me know and ignore this mail.
> */
>
> Sarnath