From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22113 invoked by alias); 27 Jan 2006 17:00:09 -0000 Received: (qmail 22077 invoked by uid 22791); 27 Jan 2006 17:00:07 -0000 X-Spam-Check-By: sourceware.org Received: from romy.inter.net.il (HELO romy.inter.net.il) (192.114.186.66) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 27 Jan 2006 17:00:05 +0000 Received: from HOME-C4E4A596F7 (IGLD-83-130-255-5.inter.net.il [83.130.255.5]) by romy.inter.net.il (MOS 3.7.3-GA) with ESMTP id DLH56888 (AUTH halo1); Fri, 27 Jan 2006 19:00:00 +0200 (IST) Date: Fri, 27 Jan 2006 17:12:00 -0000 Message-Id: From: Eli Zaretskii To: Vladimir Prus CC: gdb@sources.redhat.com In-reply-to: (message from Vladimir Prus on Fri, 27 Jan 2006 17:59:56 +0300) Subject: Re: MI -break-info command issues Reply-to: Eli Zaretskii References: <200601271115.22939.ghost@cs.msu.su> X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-01/txt/msg00305.txt.bz2 > From: Vladimir Prus > Date: Fri, 27 Jan 2006 17:59:56 +0300 > > > The first memory address to be displayed on the next/previous > > row or page is given as the values of the fields `next-row' and > > `prev-row', `next-page' and `prev-page', respectively. > > This misses the definition of 'page' and definition of 'next'/'prev'. Based > on looking on the code, I could suggest this: > > Assuming memory is a sequence of "pages", where each "page" is "total-nr" > bytes the "next-page" is the address of page directly after the page > returned by -data-read-memory, and "prev-page" is the address of the > first byte of the directly preceding page. Likewise, assuming memory > is a sequence of rows, where each row is word_size*nr_cols bytes, > "next-row" is the address of the row directly after the first one in > the -data-read-memory output (that is, the address of the second row of > the output, if there's second row). The "prev-row" is the start address > of the row directly preceding the first output row. Thanks, but this is too wordy. I will try to come up with some suitable definition of `page'. (I don;t think that `previous' needs a definition; perhaps you meant that `previous page' needs it.) > 1. Some commands produce fields that appear to be unnecessary. The > documentation does not say why they are useful. For example table heading > for -break-list, prev/next for -data-read-memory. I also recall a related > issue: http://sources.redhat.com/ml/gdb/2005-07/msg00164.html > where again gdb outputs information that not all frontends need (and which > KDevelop has to explicitly eliminate, which is not that simple). > > 2. The documentation is incomplete. All MI commands are documented with > examples. It's not clear if all shown fields in replies will always be > output, or if not, in what combinations. > > 3. It's not sufficiently clear what commands are implemented, and what are > not. Consider -break-info that's marked with "N.A" but still implemented. > > 4. There's too little rationale. Why "variable-objects" are better > interface? It's not stated anywhere, so how I can use them efficiently? All good points, IMHO. Patches are welcome to fix them. > If "minimal" protocol is explicitly not a goal of MI, or changing MI is > prohibited, just say so and I'll stop asking why there are unnecessary > fields. It's not prohibited. And if superfluous fields are a big annoyance, how about an MI command that would remove them? Would you like to submit a patch along these lines?