This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: how to create and hardware watchpoint from a commands list.
- From: Doug Evans <xdje42 at gmail dot com>
- To: Julien Chavanton <jchavanton at gmail dot com>
- Cc: gdb <gdb at sourceware dot org>
- Date: Sat, 7 Feb 2015 21:26:20 -0800
- Subject: Re: how to create and hardware watchpoint from a commands list.
- Authentication-results: sourceware.org; auth=none
- References: <CAKmcL2mg7F3QZXvQPdzUfokHm15YKLar_XL_KZpdCNZ2i6N6+Q at mail dot gmail dot com>
On Wed, Feb 4, 2015 at 2:14 AM, Julien Chavanton <jchavanton@gmail.com> wrote:
> Hi Folks, I would like to create and hardware watchpoint from a commands list.
>
> retrieve the addres of a variable and create a watch.
>
> watch *(int *) &call->stream->session->ext.settings.mode
>
> Manualy this is working fine, but I do not know the right syntax in GDB.
What do you mean by this working manually but then not knowing the right syntax?
>
> I tried "watch -location call->stream->session->ext.settings.mode"
>
> And sereval other things, is there a way to pipe the output of one
> command to another one ?
You tried several things, but you need to be more specific about
what problems you had. Complete unedited session logs are useful.
There are various ways to "pipe" (for lack of a better term) the
output of previous commands into subsequent commands.
value history, convenience variables and/or eval or python come to mind.
But do you need to?
What about "watch -location ..." didn't work?
>
> watch *(int *) | printf "0x%x\n", &call->stream->session->ext.settings.mode
>
>
> ----------------------------------------------------------
>
>
> define myhook
> echo myhook \n
> next
> next
> next
> print call->stream->session->ext.settings.mode
> print &call->stream->session->ext.settings.mode
> printf "watch *(int *)0x%x\n", &call->stream->session->ext.settings.mode
> end
>
> break set_settings
> commands
> myhook
> end