Re: how to create and hardware watchpoint from a commands list.

Julien Chavanton <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <CAKmcL2kkSkTGrTdWWfz2ExtJygahYw7DML5JuT66RpuWXvtW_w@mail.gmail.com>
Hi Doug, thank you for trying to help, I spent a few hours on this so
I am interested to solve this puzzle for next time.

----------------------------
By doing it manually I mean,

step-1) I type :

printf "0x%x\n", &call->stream->session->ext.settings.mode

and then :

step-2) I type :
watch *(int *){result from step 1}

-------------------------------
This did not work for me :

watch -location call->stream->session->ext.settings.mode
-------------------------------

I can rerun the session and provide exact output or I could just try
an alternative "piping" the output of step-1 to step-2 from the GDB
"command line interpreter" not sure how it is called, this as to be
executed from a breakpoint command list ?


On Sun, Feb 8, 2015 at 5:26 AM, Doug Evans <[email protected]> wrote:
> On Wed, Feb 4, 2015 at 2:14 AM, Julien Chavanton <[email protected]> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.