This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Thu, Aug 27, 2009 at 01:50, Eli Zaretskii<eliz@gnu.org> wrote: >> From: Hui Zhu <teawater@gmail.com> >> Date: Tue, 25 Aug 2009 11:47:09 +0800 >> Cc: gdb-patches@sourceware.org, msnyder@vmware.com, green@moxielogic.com >> >> >> 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. > > But then the proposed code is IMHO awfully limited, isn't it? ?Why > not add some more general mechanism, for several broad classes of > functions (like the `simple_function' class you used for `printf'), > and let the user specify which functions she wants to skip, instead of > hard-coding the functions in GDB? > > By contrast, the suggested code will cause us to have gobs of library > functions intimately known to GDB, and will bloat the executable, for > starters. > > Also, why is this code being make Linux-specific? ?Surely, most, if > not all, other implementations of `printf', `memset' and `memcpy' have > the exact same API and the same external effects as those you have in > glibc, no? The api is same, but the ABI for each arch and os is not same, each printf, memset or memcpy of each arch-os will get the argument from different memory and different register. And they will change different memory and reg. So it be designed to arch-os special. > >> What do you think about the doc like this: >> The record skip support following functions: >> I386-Linux printf, memcpy, memset. > > If we want to hard-code the functions, then we need something like > this in the manual: > > ?Only some standard functions are currently supported by the > ?@code{record skip} command; type the command without arguments to > ?see the full list. OK. > >> > 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. > > Okay, but then at least let's have it on by default. > Yes, all of them will set to on by default. I make a new patch. Please help me with it. Thanks, Hui 2008-08-31 Hui Zhu <teawater@gmail.com> * gdb.texinfo (Process Record and Replay): Document 'record skip', 'record skip enable' and 'record skip disable'. --- doc/gdb.texinfo | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) --- a/doc/gdb.texinfo +++ b/doc/gdb.texinfo @@ -5214,6 +5214,31 @@ When record target runs in replay mode ( subsequent execution log and begin to record a new execution log starting from the current address. This means you will abandon the previously recorded ``future'' and begin recording a new ``future''. + +@kindex record skip +@kindex rec skip +@item record skip +The record skip entry is a special breakpoint. When the process +record and replay target start, it will be inserted to the +begin of a function. When this breakpoint break the inferior and +@value{GDBN} is in record mode, @value{GDBN} will skip record all +the execution log of this function's instructions and record the +change of memory and registers of this function as one instruction. +Show the status of record skip. + +Only some standard functions are currently supported by the +@code{record skip} command; type the command without arguments to +see the full list. + +@kindex record skip disable +@kindex rec skip disable +@item record skip disable @r{[}id@r{]} +Disable the specified record skip entry (or all record skip entries). + +@kindex record skip enable +@kindex rec skip enable +@item record skip enable @r{[}id@r{]} +Enable the specified record skip entry (or all record skip entries). @end table
Attachment:
6-skip-record-doc.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |