From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32142 invoked by alias); 25 Aug 2009 03:47:37 -0000 Received: (qmail 32130 invoked by uid 22791); 25 Aug 2009 03:47:37 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-pz0-f198.google.com (HELO mail-pz0-f198.google.com) (209.85.222.198) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 25 Aug 2009 03:47:30 +0000 Received: by pzk36 with SMTP id 36so1345511pzk.12 for ; Mon, 24 Aug 2009 20:47:29 -0700 (PDT) MIME-Version: 1.0 Received: by 10.142.4.17 with SMTP id 17mr337017wfd.85.1251172049090; Mon, 24 Aug 2009 20:47:29 -0700 (PDT) In-Reply-To: <83fxbhdofo.fsf@gnu.org> References: <837hwzir3w.fsf@gnu.org> <8363cefkkp.fsf@gnu.org> <83fxbhdofo.fsf@gnu.org> From: Hui Zhu Date: Tue, 25 Aug 2009 04:25:00 -0000 Message-ID: Subject: Re: [RFA/RFC Prec] Add process record skip 6/6 (doc) To: Eli Zaretskii Cc: gdb-patches@sourceware.org, msnyder@vmware.com, green@moxielogic.com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-08/txt/msg00405.txt.bz2 On Tue, Aug 25, 2009 at 03:03, Eli Zaretskii wrote: >> From: Hui Zhu >> 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. =A0For example, in >> "5-skip-record-i386-linux.txt". >> + =A0record_skip_entry_create (gdbarch, "printf", >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0i386_linux_proc= ess_record_simple_function); >> + =A0record_skip_entry_create (gdbarch, "memset", >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0i386_linux_proc= ess_record_memset); >> + =A0record_skip_entry_create (gdbarch, "memcpy", >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0i386_linux_proc= ess_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? =A0In 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 chan= ge: >> 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. =A0It doesn't need step by step. Speed is hight. >> 2. =A0it doesn't need =A0record the each insn, it will not need a lot of= memory. > > Do we lose any information because of skip? =A0If 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