From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22706 invoked by alias); 17 Jun 2013 15:31:36 -0000 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 Received: (qmail 22682 invoked by uid 89); 17 Jun 2013 15:31:32 -0000 X-Spam-SWARE-Status: No, score=-4.2 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RCVD_IN_DNSWL_NONE,RCVD_IN_HOSTKARMA_NO,SPF_SOFTFAIL autolearn=no version=3.3.1 Received: from mtaout20.012.net.il (HELO mtaout20.012.net.il) (80.179.55.166) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Mon, 17 Jun 2013 15:31:29 +0000 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MOJ00B00N12C000@a-mtaout20.012.net.il> for gdb-patches@sourceware.org; Mon, 17 Jun 2013 18:31:26 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MOJ00AEFN4ERPE0@a-mtaout20.012.net.il>; Mon, 17 Jun 2013 18:31:26 +0300 (IDT) Date: Mon, 17 Jun 2013 15:48:00 -0000 From: Eli Zaretskii Subject: Re: [PATCH 5/6] New MI command -trace-frame-collected In-reply-to: <51BEE0F9.3090201@codesourcery.com> To: Yao Qi Cc: gdb-patches@sourceware.org Reply-to: Eli Zaretskii Message-id: <831u80u52n.fsf@gnu.org> References: <1370610493-26468-1-git-send-email-yao@codesourcery.com> <1371086914-8398-1-git-send-email-yao@codesourcery.com> <1371086914-8398-6-git-send-email-yao@codesourcery.com> <83obbaw425.fsf@gnu.org> <51BAE445.5070300@codesourcery.com> <83vc5hug7e.fsf@gnu.org> <51BEE0F9.3090201@codesourcery.com> X-SW-Source: 2013-06/txt/msg00376.txt.bz2 > Date: Mon, 17 Jun 2013 18:12:09 +0800 > From: Yao Qi > CC: > > On 06/14/2013 06:41 PM, Eli Zaretskii wrote: > > This is not described anywhere in the manual. In fact, the word > > "wholly" never appears in the manual and "whole" never appears in any > > context related to tracepoints. In the node "Tracepoint Actions", we > > don't make any distinction between collecting "in whole" and "in > > part". > > > > So if this distinction is important, please add to "Tracepoint > > Actions" the explanation similar to what you wrote above, and then > > make a cross-reference to that from the description of > > -trace-frame-collected. > > This distinction is important to the commands displaying contents in > a given traceframe, such as -trace-frame-collected, but this distinction > is not important to trace actions. How can it not be important, when (AFAIU) the collection commands are those that determine whether an object is collected in whole or only partially? By the time the user gets to displaying the collected data, it's too late to decide about that. Or am I missing something? If I'm right, then it is important to describe this with tracepoint actions because that is where the user needs to decide what to collect and how. On second thought, I still don't understand why is it so important to emphasize this issue. Isn't it trivially clear that in your example myVar is collected in its entirety, while for myArray, only its myIndex'th element is collected, and that the rest are expressions? Why do we need to explain that? Isn't it enough to say @item explicit-variables The set of objects that have been collected in their entirety (as opposed to collecting just a few elements of an array or a few struct members). If this is good enough, then this paragraph: > +This command returns the set of explicitly wholly collected (explained > +below with an example) objects, register names, trace state variable > +names, memory ranges and computed expressions that have been collected > +at a particular trace frame. The optional parameters to the command > +affect the output format in different ways. See the output description > +table below for more details. Needs to be rephrased to not mention the "explicitly wholly" thing. > What do you think? I don't like the result, sorry. First, "explicitly wholly" sounds awkward, so much so that the reader might decide this is a mistake of some kind. Please use "collected wholly" or "explicitly collected as a whole", if I didn't convince you that the entire point about this is moot. Second, this issue is too complicated to explain it with an example. You need to provide rules by which the user will be able to decide whether some data will be collected as a whole or not. Third, you need @noindent here: > +@smallexample > +collect myVar, myArray[myIndex] myObj.field, myPtr->field, myCount + 2 > +collect *(int*)0xaf02bef0@@40 > +@end smallexample > +the set of named objects explicitly wholly collected would be after the "@end smallexample" line. Thanks.