This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFC] info threads takes an argument
- From: Michael Snyder <msnyder at vmware dot com>
- To: Joel Brobecker <brobecker at adacore dot com>
- Cc: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Date: Fri, 11 Feb 2011 11:23:21 -0800
- Subject: Re: [RFC] info threads takes an argument
- References: <4D54964A.2070401@vmware.com> <20110211060855.GT2384@adacore.com>
Joel Brobecker wrote:
2011-02-10 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
* thread.c (info_threads_command): Process arg as thread id.
This seems like a reasonable enhancement to me. We have the same sort
of feature for Ada (except that we print a more detailed description
of the given task).
You will also need a documentation update...
+ if (arg != NULL && *arg != '\0')
+ {
+ int tmp_tid = strtoul (arg, NULL, 0);
+ if (tmp_tid != 0)
Emtpy line after the variable declaration...
OK, here's help, doc, and a newline. ;-)
2011-02-10 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
* thread.c (info_threads_command): Process arg as thread id.
(_initialize_thread): Document argument for info therads.
Index: thread.c
===================================================================
RCS file: /cvs/src/src/gdb/thread.c,v
retrieving revision 1.131
diff -u -p -u -p -r1.131 thread.c
--- thread.c 19 Jan 2011 17:21:36 -0000 1.131
+++ thread.c 11 Feb 2011 19:18:30 -0000
@@ -965,7 +965,17 @@ No selected thread. See `help thread'.\
static void
info_threads_command (char *arg, int from_tty)
{
- print_thread_info (uiout, -1, -1);
+ int tid = -1;
+
+ if (arg != NULL && *arg != '\0')
+ {
+ int tmp_tid = (int) parse_and_eval_long (arg);
+
+ if (tmp_tid != 0)
+ tid = tmp_tid;
+ }
+
+ print_thread_info (uiout, tid, -1);
}
/* Switch from one thread to another. */
@@ -1404,7 +1414,8 @@ _initialize_thread (void)
static struct cmd_list_element *thread_apply_list = NULL;
add_info ("threads", info_threads_command,
- _("IDs of currently known threads."));
+ _("IDs of currently known threads.\n\
+A single thread id may be given as the optional argument."));
add_prefix_cmd ("thread", class_run, thread_command, _("\
Use this command to switch between threads.\n\
2011-02-11 Michael Snyder <msnyder@vmware.com>
* gdb.texinfo (threads): Document argument for info threads cmd.
Index: doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.797
diff -u -p -u -p -r1.797 gdb.texinfo
--- doc/gdb.texinfo 4 Feb 2011 21:54:15 -0000 1.797
+++ doc/gdb.texinfo 11 Feb 2011 19:18:31 -0000
@@ -2706,9 +2706,10 @@ number---always a single integer---with
@table @code
@kindex info threads
-@item info threads
-Display a summary of all threads currently in your
-program. @value{GDBN} displays for each thread (in this order):
+@item info threads @r{[}@var{n}@r{]}
+Display a summary of all threads currently in your program. Optional
+argument @var{n} means print information only about the specified
+thread. @value{GDBN} displays for each thread (in this order):
@enumerate
@item