[2/5] Add a new 'info proc files' subcommand of 'info proc'.
Commit Message
This command displays a list of open file descriptors.
gdb/ChangeLog:
* defs.h (enum info_proc_what) [IP_FILES]: New value.
* infcmd.c (info_proc_cmd_files): New function.
(_initialize_infcmd): Register 'info proc files' command.
---
gdb/ChangeLog | 6 ++++++
gdb/defs.h | 3 +++
gdb/infcmd.c | 12 ++++++++++++
3 files changed, 21 insertions(+)
Comments
> From: John Baldwin <jhb@FreeBSD.org>
> Date: Fri, 7 Sep 2018 17:36:56 -0700
>
> This command displays a list of open file descriptors.
Thanks.
> + add_cmd ("files", class_info, info_proc_cmd_files, _("\
> +List of open files."),
IMO, this doc strings is too terse. I suggest to expand it telling
that the command shows the files open by the process being debugged.
On 2018-09-08 07:49 AM, Eli Zaretskii wrote:
>> From: John Baldwin <jhb@FreeBSD.org>
>> Date: Fri, 7 Sep 2018 17:36:56 -0700
>>
>> This command displays a list of open file descriptors.
>
> Thanks.
>
>> + add_cmd ("files", class_info, info_proc_cmd_files, _("\
>> +List of open files."),
>
> IMO, this doc strings is too terse. I suggest to expand it telling
> that the command shows the files open by the process being debugged.
The info proc commands accept a pid, which allows you to refer to any
process, not only those debugged by GDB. Other info proc commands use
use the generic form "of the process"
info proc cmdline -- List command line arguments of the process
I think that's sufficient, especially that users are likely to see it
in the context of "help info proc", which describes what argument you
can pass:
(gdb) help info proc
Show /proc process information about any running process.
Specify any process id, or use the program being debugged by default.
List of info proc subcommands:
info proc all -- List all available /proc info
info proc cmdline -- List command line arguments of the process
info proc cwd -- List current working directory of the process
info proc exe -- List absolute filename for executable of the process
info proc mappings -- List of mapped memory regions
info proc stat -- List process info from /proc/PID/stat
info proc status -- List process info from /proc/PID/status
Simon
On 2018-09-08 01:36 AM, John Baldwin wrote:
> This command displays a list of open file descriptors.
>
> gdb/ChangeLog:
>
> * defs.h (enum info_proc_what) [IP_FILES]: New value.
> * infcmd.c (info_proc_cmd_files): New function.
> (_initialize_infcmd): Register 'info proc files' command.
> ---
> gdb/ChangeLog | 6 ++++++
> gdb/defs.h | 3 +++
> gdb/infcmd.c | 12 ++++++++++++
> 3 files changed, 21 insertions(+)
>
> diff --git a/gdb/ChangeLog b/gdb/ChangeLog
> index d32b390778..2e5cd0a687 100644
> --- a/gdb/ChangeLog
> +++ b/gdb/ChangeLog
> @@ -1,3 +1,9 @@
> +2018-09-07 John Baldwin <jhb@FreeBSD.org>
> +
> + * defs.h (enum info_proc_what) [IP_FILES]: New value.
> + * infcmd.c (info_proc_cmd_files): New function.
> + (_initialize_infcmd): Register 'info proc files' command.
> +
> 2018-09-07 John Baldwin <jhb@FreeBSD.org>
>
> * fbsd-tdep.c (fbsd_core_vnode_path): Use KF_PATH instead of
> diff --git a/gdb/defs.h b/gdb/defs.h
> index fc4217005a..6e3f4df116 100644
> --- a/gdb/defs.h
> +++ b/gdb/defs.h
> @@ -389,6 +389,9 @@ enum info_proc_what
> /* * Display `info proc cwd'. */
> IP_CWD,
>
> + /* * Display `info proc files'. */
> + IP_FILES,
> +
> /* * Display all of the above. */
> IP_ALL
> };
> diff --git a/gdb/infcmd.c b/gdb/infcmd.c
> index 860909f5e2..c6cfc10a49 100644
> --- a/gdb/infcmd.c
> +++ b/gdb/infcmd.c
> @@ -3218,6 +3218,14 @@ info_proc_cmd_exe (const char *args, int from_tty)
> info_proc_cmd_1 (args, IP_EXE, from_tty);
> }
>
> +/* Implement `info proc files'. */
> +
> +static void
> +info_proc_cmd_files (const char *args, int from_tty)
> +{
> + info_proc_cmd_1 (args, IP_FILES, from_tty);
> +}
> +
> /* Implement `info proc all'. */
>
> static void
> @@ -3543,6 +3551,10 @@ List command line arguments of the process."),
> List absolute filename for executable of the process."),
> &info_proc_cmdlist);
>
> + add_cmd ("files", class_info, info_proc_cmd_files, _("\
> +List of open files."),
> + &info_proc_cmdlist);
> +
> add_cmd ("all", class_info, info_proc_cmd_all, _("\
> List all available /proc info."),
> &info_proc_cmdlist);
The code LGTM, but please wait for Eli's reply on the doc bits.
Thanks,
Simon
> CC: <gdb-patches@sourceware.org>
> From: Simon Marchi <simon.marchi@ericsson.com>
> Date: Sat, 8 Sep 2018 23:30:36 +0100
>
> >> + add_cmd ("files", class_info, info_proc_cmd_files, _("\
> >> +List of open files."),
> >
> > IMO, this doc strings is too terse. I suggest to expand it telling
> > that the command shows the files open by the process being debugged.
>
> The info proc commands accept a pid, which allows you to refer to any
> process, not only those debugged by GDB.
Then let's say
List of files open by the specified process.
On 9/8/18 10:23 PM, Eli Zaretskii wrote:
>> CC: <gdb-patches@sourceware.org>
>> From: Simon Marchi <simon.marchi@ericsson.com>
>> Date: Sat, 8 Sep 2018 23:30:36 +0100
>>
>>>> + add_cmd ("files", class_info, info_proc_cmd_files, _("\
>>>> +List of open files."),
>>>
>>> IMO, this doc strings is too terse. I suggest to expand it telling
>>> that the command shows the files open by the process being debugged.
>>
>> The info proc commands accept a pid, which allows you to refer to any
>> process, not only those debugged by GDB.
>
> Then let's say
>
> List of files open by the specified process.
I'm fine with that, but we should probably make the descriptions under
'info proc' a bit more consistent in general as a followup. Most of them
use 'of the process' without including "specified", and 'info proc mappings'
(which I based the original description off of) doesn't include
"process" in its description.
> Cc: gdb-patches@sourceware.org
> From: John Baldwin <jhb@FreeBSD.org>
> Date: Mon, 10 Sep 2018 11:13:19 -0700
>
> > Then let's say
> >
> > List of files open by the specified process.
>
> I'm fine with that, but we should probably make the descriptions under
> 'info proc' a bit more consistent in general as a followup.
Yes.
@@ -1,3 +1,9 @@
+2018-09-07 John Baldwin <jhb@FreeBSD.org>
+
+ * defs.h (enum info_proc_what) [IP_FILES]: New value.
+ * infcmd.c (info_proc_cmd_files): New function.
+ (_initialize_infcmd): Register 'info proc files' command.
+
2018-09-07 John Baldwin <jhb@FreeBSD.org>
* fbsd-tdep.c (fbsd_core_vnode_path): Use KF_PATH instead of
@@ -389,6 +389,9 @@ enum info_proc_what
/* * Display `info proc cwd'. */
IP_CWD,
+ /* * Display `info proc files'. */
+ IP_FILES,
+
/* * Display all of the above. */
IP_ALL
};
@@ -3218,6 +3218,14 @@ info_proc_cmd_exe (const char *args, int from_tty)
info_proc_cmd_1 (args, IP_EXE, from_tty);
}
+/* Implement `info proc files'. */
+
+static void
+info_proc_cmd_files (const char *args, int from_tty)
+{
+ info_proc_cmd_1 (args, IP_FILES, from_tty);
+}
+
/* Implement `info proc all'. */
static void
@@ -3543,6 +3551,10 @@ List command line arguments of the process."),
List absolute filename for executable of the process."),
&info_proc_cmdlist);
+ add_cmd ("files", class_info, info_proc_cmd_files, _("\
+List of open files."),
+ &info_proc_cmdlist);
+
add_cmd ("all", class_info, info_proc_cmd_all, _("\
List all available /proc info."),
&info_proc_cmdlist);