public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Bruno Larsen <blarsen@redhat.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH] gdb/cli: fixes to newly added "list ." command
Date: Tue, 18 Jul 2023 15:40:24 +0200	[thread overview]
Message-ID: <79b8558a-6dba-7773-7ab6-d24814e5207d@redhat.com> (raw)
In-Reply-To: <83a5vt752j.fsf@gnu.org>

On 18/07/2023 14:54, Eli Zaretskii wrote:
>> Cc: Bruno Larsen <blarsen@redhat.com>
>> Date: Tue, 18 Jul 2023 13:21:41 +0200
>> From: Bruno Larsen via Gdb-patches <gdb-patches@sourceware.org>
>>
>> diff --git a/gdb/NEWS b/gdb/NEWS
>> index ac5dc424d3f..dd2fc0103bc 100644
>> --- a/gdb/NEWS
>> +++ b/gdb/NEWS
>> @@ -87,8 +87,9 @@
>>   * The Ada 2022 Enum_Rep and Enum_Val attributes are now supported.
>>   
>>   * The 'list' command now accepts '.' as an argument, which tells GDB to
>> -  print the location where the inferior is stopped.  If the inferior hasn't
>> -  started yet, the command will print around the main function.
>> +  print the location around the last solitary line printed as part of
>> +  displaying a stack frame. If the inferior hasn't started yet, the
>> +  command will print around the main function.
> "Last solitary line" is not necessarily clear (why "solitary"?).
I picked "solitary line" from the description of list with no argments:

     however, if the last line printed was a solitary line printed
     as part of displaying a stack frame (@pxref{Stack, ,Examining the
     Stack}), this prints lines centered around that line.

when examined in context, I think it makes sense, but I can revisit this 
if you want.
> How
> about
>
>    * The 'list' command now accepts '.' as an argument, which tells GDB
>      to print source code around the default location.  The default
>      location is where the inferior stopped;

The problem with "where the inferior is stopped", as mentioned by pedro 
in an earlier email, that there are a few different interpretations, and 
only one is correct.

1. list around the PC that triggered a breakpoint. So if Thread 1 hit a 
breakpoint, but a user switched to thread 2, they could expect that 
"list ." would list around thread 1, but that's not what would happen
2. list the lowermost frame of a given thread. This was Pedro's initial 
interpretation of the command, so if the inferior stopped and the user 
went up a few frames, technically the place where it is stopped is still 
the same PC, but we're not listing around those lines
3. List around the frame that is being examined. This is what I meant 
with the command, so if you go up some frames in a different thread, 
"list ." will list the same thing as the first call to "list". Its 
effectively an alias for "(gdb) frame; (gdb) list", as pedro put it.

I'm not exactly happy with the final wording I went with, though, so I'm 
happy for other suggestions :)

-- 
Cheers,
Bruno

> if the inferior didn't
>      start yet, the command will print around the beginning of the
>      'main' function.
>      
>> --- a/gdb/doc/gdb.texinfo
>> +++ b/gdb/doc/gdb.texinfo
>> @@ -9155,9 +9155,9 @@ Same as using with no arguments.
>>   Print lines just before the lines last printed.
>>   
>>   @item list .
>> -Print the lines surrounding the location that is where the inferior
>> -is stopped.  If the inferior is not running, print around the main
>> -function instead.
>> +Print the lines surrounding the last solitary line printed as part
>> +of displaying a fram.  If the inferior is not running, print around
>> +the main function instead.
>>   @end table
> Same here.
>
> Thanks.
>
> Reviewed-By: Eli Zaretskii <eliz@gnu.org>
>


  reply	other threads:[~2023-07-18 13:40 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-13 10:24 [PATCH v4 0/4] Small changes to "list" command Bruno Larsen
2023-07-13 10:24 ` [PATCH v4 1/4] gdb/cli: Factor out code to list lines around a given line Bruno Larsen
2023-07-13 16:53   ` Tom Tromey
2023-07-13 10:24 ` [PATCH v4 2/4] gdb/cli: add '.' as an argument for 'list' command Bruno Larsen
2023-07-13 11:05   ` Eli Zaretskii
2023-07-13 16:53   ` Tom Tromey
2023-07-14 17:50   ` Pedro Alves
2023-07-17  8:21     ` Bruno Larsen
2023-07-17  8:44       ` Andrew Burgess
2023-07-17 14:14       ` Pedro Alves
2023-07-18 11:21     ` [PATCH] gdb/cli: fixes to newly added "list ." command Bruno Larsen
2023-07-18 12:54       ` Eli Zaretskii
2023-07-18 13:40         ` Bruno Larsen [this message]
2023-07-18 16:17           ` Eli Zaretskii
2023-07-18 13:43       ` Pedro Alves
2023-07-18 14:55         ` Bruno Larsen
2023-07-21 10:26       ` [PATCH v2] " Bruno Larsen
2023-07-21 11:05         ` Eli Zaretskii
2023-08-04  8:37         ` [PING][PATCH " Bruno Larsen
2023-08-23 10:03           ` [PINGv2][PATCH " Guinevere Larsen
2023-08-23 15:00         ` [PATCH " Andrew Burgess
2023-08-28 15:50         ` [PATCH v3] " Guinevere Larsen
2023-09-14 13:00           ` [PING][PATCH " Guinevere Larsen
2023-09-18 13:16           ` [PATCH " Andrew Burgess
2023-09-19  9:06           ` [PATCH v4] " Guinevere Larsen
2023-09-19 11:27             ` Eli Zaretskii
2023-09-19 12:07               ` Guinevere Larsen
2023-07-13 10:24 ` [PATCH v4 3/4] gdb/cli: Improve UX when using list with no args Bruno Larsen
2023-07-13 11:06   ` Eli Zaretskii
2023-07-13 17:41   ` Keith Seitz
2023-07-13 10:24 ` [PATCH v4 4/4] gdb/doc: document '+' argument for 'list' command Bruno Larsen
2023-07-13 17:35   ` Keith Seitz
2023-07-13 21:30     ` Matt Rice
2023-07-14  8:53       ` Bruno Larsen
2023-07-14 16:30         ` Tom Tromey
2023-07-14 21:30           ` Matt Rice
2023-07-13 17:31 ` [PATCH v4 0/4] Small changes to "list" command Tom Tromey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=79b8558a-6dba-7773-7ab6-d24814e5207d@redhat.com \
    --to=blarsen@redhat.com \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).