From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8228 invoked by alias); 26 Aug 2009 17:51:32 -0000 Received: (qmail 8213 invoked by uid 22791); 26 Aug 2009 17:51:31 -0000 X-SWARE-Spam-Status: No, hits=2.4 required=5.0 tests=AWL,BAYES_00,BOTNET,RCVD_IN_JMF_BL,SPF_SOFTFAIL X-Spam-Check-By: sourceware.org Received: from mtaout1.012.net.il (HELO mtaout1.012.net.il) (84.95.2.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 26 Aug 2009 17:51:25 +0000 Received: from conversion-daemon.i-mtaout1.012.net.il by i-mtaout1.012.net.il (HyperSendmail v2007.08) id <0KOZ00M00W70V900@i-mtaout1.012.net.il> for gdb-patches@sourceware.org; Wed, 26 Aug 2009 20:50:10 +0300 (IDT) Received: from HOME-C4E4A596F7 ([84.228.144.38]) by i-mtaout1.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0KOZ00ABQW7LVV70@i-mtaout1.012.net.il>; Wed, 26 Aug 2009 20:50:10 +0300 (IDT) Date: Wed, 26 Aug 2009 17:54:00 -0000 From: Eli Zaretskii Subject: Re: [RFA/RFC Prec] Add process record skip 6/6 (doc) In-reply-to: To: Hui Zhu Cc: gdb-patches@sourceware.org, msnyder@vmware.com, green@moxielogic.com Reply-to: Eli Zaretskii Message-id: <83skfecvmz.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 8BIT References: <837hwzir3w.fsf@gnu.org> <8363cefkkp.fsf@gnu.org> <83fxbhdofo.fsf@gnu.org> 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/msg00455.txt.bz2 > From: Hui Zhu > 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? > 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. > > 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.