This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Don't prune program spaces when doing "maintenance info program-spaces"


On Wednesday, September 24 2014, Simon Marchi wrote:

> While debugging a program spaces issue, I found that "maintenance info
> program-spaces" pruned the program spaces prior to printing them. I
> don't think a command to inspect the state of the program (especially
> a maintenance one) should modify the state. All it can do is potentially
> hide bugs.

Hi Simon,

Thanks for the patch.  I agree with your rationale, and just have one
comment.

> ---
>  gdb/progspace.c | 13 +++++++------
>  1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/gdb/progspace.c b/gdb/progspace.c
> index a74b6ab..aef2d4e 100644
> --- a/gdb/progspace.c
> +++ b/gdb/progspace.c
> @@ -272,18 +272,19 @@ prune_program_spaces (void)
>  
>  /* Prints the list of program spaces and their details on UIOUT.  If
>     REQUESTED is not -1, it's the ID of the pspace that should be
> -   printed.  Otherwise, all spaces are printed.  */
> +   printed.  Otherwise, all spaces are printed.  If PRUNE is true,
> +   prune the unused program spaces prior to printing them, so they
> +   won't be displayed. */
>  
>  static void
> -print_program_space (struct ui_out *uiout, int requested)
> +print_program_space (struct ui_out *uiout, int requested, int prune)
>  {
>    struct program_space *pspace;
>    int count = 0;
>    struct cleanup *old_chain;
>  
> -  /* Might as well prune away unneeded ones, so the user doesn't even
> -     seem them.  */
> -  prune_program_spaces ();
> +  if (prune)
> +    prune_program_spaces ();
>  
>    /* Compute number of pspaces we will print.  */
>    ALL_PSPACES (pspace)
> @@ -385,7 +386,7 @@ maintenance_info_program_spaces_command (char *args, int from_tty)
>  	error (_("program space ID %d not known."), requested);
>      }
>  
> -  print_program_space (current_uiout, requested);
> +  print_program_space (current_uiout, requested, 0 /* prune */);

Just like we had a comment explaining why we were pruning progspaces, I
think a small comment here explaining why we are *not* pruning them
would be neat.

Otherwise, looks good to me (this is not an approval).

Thanks,

-- 
Sergio
GPG key ID: 0x65FC5E36
Please send encrypted e-mail if possible
http://sergiodj.net/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]