Re: [RFA/RFC Prec] Add process record skip 6/6 (doc)

Hui Zhu
2009-08-25T03:47:37Z

On Tue, Aug 25, 2009 at 03:03, Eli Zaretskii<eliz@gnu.org> wrote:
>> From: Hui Zhu <teawater@gmail.com>
>> Date: Mon, 24 Aug 2009 16:49:42 +0800
>> Cc: gdb-patches@sourceware.org, msnyder@vmware.com, green@moxielogic.com
>>
>> Because the change of each function is special, function
>> record_skip_entry_create need a special record function pointer for
>> each function that want to skip.  For example, in
>> "5-skip-record-i386-linux.txt".
>> +  record_skip_entry_create (gdbarch, "printf",
>> +                            i386_linux_process_record_simple_function);
>> +  record_skip_entry_create (gdbarch, "memset",
>> +                            i386_linux_process_record_memset);
>> +  record_skip_entry_create (gdbarch, "memcpy",
>> +                            i386_linux_process_record_memset);
>>
>> i386_linux_process_record_simple_function is for printf.
>> i386_linux_process_record_memset is for memset and memcpy.
>
> So we currently support record skip of only 3 functions, the ones
> mentioned above, is that right?  In that case, we should document
> those functions in the manual, I think.

Yes, I think after this feature in, we can add more and more functions
to support skip.

What do you think about the doc like this:
The record skip support following functions:
I386-Linux printf, memcpy, memset.

>
>> Without the skip, to record a function, it need record all the insn change:
>> 1. It need step by step. Speed is low.
>> 2. It need record the change of each insn, it will need a lot of memory.
>>
>> With the skip, to record a function, it just record the change in the
>> begin of function, after that, continue.
>> 1.  It doesn't need step by step. Speed is hight.
>> 2.  it doesn't need  record the each insn, it will not need a lot of memory.
>
> Do we lose any information because of skip?  If not, why don't we do
> that always, why do we need an option to enable and disable that?
>

This is a very good question.
It will not lose any information.
I add a disable function because if customer want reverse debug inside
the function, he will need setp by step without skip like in before.
For example, debug the libc.

Thanks,
Hui