Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Gabriel Krisman Bertazi <gabriel@krisman.be>
To: sergiodj@redhat.com
Cc: palves@redhat.com,	gdb-patches@sourceware.org,	dje@google.com,
	Gabriel Krisman Bertazi <gabriel@krisman.be>
Subject: [PATCH v4 5/5] Update documentation on catching a group of related syscalls.
Date: Mon, 11 May 2015 00:28:00 -0000	[thread overview]
Message-ID: <1431304069-19647-6-git-send-email-gabriel@krisman.be> (raw)
In-Reply-To: <1431304069-19647-1-git-send-email-gabriel@krisman.be>

gdb/

	* break-catch-syscall.c (_initialize_breakpoint): Update catch
	syscall command documentation.
	* NEWS: Include section about catching groups of syscalls.

gdb/doc/

	* gdb.texinfo (Set Catchpoints): Add 'group' argument to catch
	syscall.
---
 gdb/NEWS                  |  5 +++++
 gdb/break-catch-syscall.c | 10 +++++-----
 gdb/doc/gdb.texinfo       | 28 +++++++++++++++++++++++++++-
 3 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/gdb/NEWS b/gdb/NEWS
index 6ad68ac..a6b5e44 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -138,6 +138,11 @@ qXfer:exec-file:read
 HP/PA running HP-UX           hppa*-*-hpux*
 Itanium running HP-UX         ia64-*-hpux*
 
+* The "catch syscall" command catches groups of related syscalls.
+
+  The "catch syscall" command now supports catching a group of related
+  syscalls using the 'group:' or 'g:' prefix.
+
 *** Changes in GDB 7.9
 
 * GDB now supports hardware watchpoints on x86 GNU Hurd.
diff --git a/gdb/break-catch-syscall.c b/gdb/break-catch-syscall.c
index 686daf1..e65bd0a 100644
--- a/gdb/break-catch-syscall.c
+++ b/gdb/break-catch-syscall.c
@@ -723,11 +723,11 @@ _initialize_break_catch_syscall (void)
 					   catch_syscall_inferior_data_cleanup);
 
   add_catch_command ("syscall", _("\
-Catch system calls by their names and/or numbers.\n\
-Arguments say which system calls to catch.  If no arguments\n\
-are given, every system call will be caught.\n\
-Arguments, if given, should be one or more system call names\n\
-(if your system supports that), or system call numbers."),
+Catch system calls by their names, groups and/or numbers.\n\
+Arguments say which system calls to catch.  If no arguments are given,\n\
+every system call will be caught.  Arguments, if given, should be one\n\
+or more system call names (if your system supports that), system call\n\
+groups or system call numbers."),
 		     catch_syscall_command_1,
 		     catch_syscall_completer,
 		     CATCH_PERMANENT,
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 9e2787d..e2be1d3 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -4282,7 +4282,7 @@ A call to @code{exec}.  This is currently only available for HP-UX
 and @sc{gnu}/Linux.
 
 @item syscall
-@itemx syscall @r{[}@var{name} @r{|} @var{number}@r{]} @dots{} 
+@itemx syscall @r{[}@var{name} @r{|} @var{number} @r{|} @r{group:}@var{groupname} @r{|} @r{g:}@var{groupname}@r{]} @dots{}
 @kindex catch syscall
 @cindex break on a system call.
 A call to or return from a system call, a.k.a.@: @dfn{syscall}.  A
@@ -4317,6 +4317,15 @@ may be useful if @value{GDBN}'s database does not have the complete
 list of syscalls on your system (e.g., because @value{GDBN} lags
 behind the OS upgrades).
 
+You may specify a group of related syscalls to be caught at once using
+the @code{group:} syntax (@code{g:} is a shorter equivalent.).  For
+instance, on some platforms @value{GDBN} allows you to catch all
+network related syscalls, by passing the argument @code{group:network}
+to @code{catch syscall}.  Note that not all syscall groups are
+available in every system.  You can use the command completion
+facilities (@pxref{Completion,, command completion}) to list the
+syscall groups available on your environment.
+
 The example below illustrates how this command works if you don't provide
 arguments to it:
 
@@ -4373,6 +4382,23 @@ Program exited normally.
 (@value{GDBP})
 @end smallexample
 
+Here is an example of catching a syscall group:
+
+@smallexample
+(@value{GDBP}) catch syscall group:process
+Catchpoint 1 (syscalls 'exit' [1] 'fork' [2] 'waitpid' [7]
+'execve' [11] 'wait4' [114] 'clone' [120] 'vfork' [190]
+'exit_group' [252] 'waitid' [284] 'unshare' [310])
+(@value{GDBP}) r
+Starting program: /tmp/catch-syscall
+
+Catchpoint 1 (call to syscall fork), 0x00007ffff7df4e27 in open64 ()
+   from /lib64/ld-linux-x86-64.so.2
+
+(@value{GDBP}) c
+Continuing.
+@end smallexample
+
 However, there can be situations when there is no corresponding name
 in XML file for that syscall number.  In this case, @value{GDBN} prints
 a warning message saying that it was not able to find the syscall name,
-- 
2.1.0


  parent reply	other threads:[~2015-05-11  0:28 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-26  1:25 [PATCH v3 00/17] Catch syscall group Gabriel Krisman Bertazi
2015-04-26  1:25 ` [PATCH v3 02/17] Add support to catch groups of syscalls Gabriel Krisman Bertazi
2015-04-26  1:25 ` [PATCH v3 03/17] Add tests for catching groups of syscalls on supported architectures Gabriel Krisman Bertazi
2015-04-26 18:44   ` Sergio Durigan Junior
2015-04-26  1:25 ` [PATCH v3 01/17] Implemement support for groups of syscalls in the xml-syscall interface Gabriel Krisman Bertazi
2015-04-26  1:26 ` [PATCH v3 12/17] Create syscall groups for mips-n64 Gabriel Krisman Bertazi
2015-04-26  1:26 ` [PATCH v3 06/17] Create syscall groups for ppc64 Gabriel Krisman Bertazi
2015-04-26  1:26 ` [PATCH v3 07/17] Create syscall groups for aarch64 Gabriel Krisman Bertazi
2015-04-26  1:26 ` [PATCH v3 05/17] Create syscall groups for ppc Gabriel Krisman Bertazi
2015-04-26  1:26 ` [PATCH v3 04/17] Create syscall groups for amd64 Gabriel Krisman Bertazi
2015-04-26  1:26 ` [PATCH v3 10/17] Create syscall groups for i386 Gabriel Krisman Bertazi
2015-04-26  1:26 ` [PATCH v3 08/17] Create syscall groups for arm Gabriel Krisman Bertazi
2015-04-26  1:26 ` [PATCH v3 09/17] Create syscall groups for bfin Gabriel Krisman Bertazi
2015-04-26  1:47 ` [PATCH v3 11/17] Create syscall groups for mips-n32 Gabriel Krisman Bertazi
2015-04-26  1:47 ` [PATCH v3 14/17] Create syscall groups for s390 Gabriel Krisman Bertazi
2015-04-26  1:47 ` [PATCH v3 13/17] Create syscall groups for mips-o32 Gabriel Krisman Bertazi
2015-04-26  1:47 ` [PATCH v3 15/17] Create syscall groups for s390x Gabriel Krisman Bertazi
2015-04-26  1:47 ` [PATCH v3 17/17] Create syscall groups for sparc64 Gabriel Krisman Bertazi
2015-04-26  1:47 ` [PATCH v3 16/17] Create syscall groups for sparc Gabriel Krisman Bertazi
2015-04-26 18:58 ` [PATCH v3 00/17] Catch syscall group Sergio Durigan Junior
2015-04-28 11:24 ` Pedro Alves
2015-04-29  0:45   ` Sergio Durigan Junior
2015-04-29 10:44     ` Pedro Alves
2015-05-04  2:34       ` Gabriel Krisman Bertazi
2015-05-06 14:38         ` Pedro Alves
2015-05-10 18:34           ` Gabriel Krisman Bertazi
2015-05-10 19:01             ` Sergio Durigan Junior
2015-05-11  0:28               ` [PATCH v4 0/4] catch " Gabriel Krisman Bertazi
2015-05-11  0:28                 ` [PATCH v4 3/5] Add tests for catching groups of syscalls on supported architectures Gabriel Krisman Bertazi
2015-05-11  0:28                 ` [PATCH v4 2/5] Add support to catch groups of syscalls Gabriel Krisman Bertazi
2015-05-13 10:38                   ` Pedro Alves
2015-05-11  0:28                 ` [PATCH v4 4/5] Include group information in xml syscall files Gabriel Krisman Bertazi
2015-05-12 21:42                   ` Doug Evans
2015-05-13  1:17                     ` Gabriel Krisman Bertazi
2015-05-13 10:43                   ` Pedro Alves
2015-05-11  0:28                 ` [PATCH v4 1/5] Implemement support for groups of syscalls in the xml-syscall interface Gabriel Krisman Bertazi
2015-05-11  0:28                 ` Gabriel Krisman Bertazi [this message]
2015-05-11  0:40                   ` [PATCH v4 5/5] Update documentation on catching a group of related syscalls Gabriel Krisman Bertazi
2015-05-13 10:30                     ` Pedro Alves
2015-05-13 16:40                       ` Eli Zaretskii
2015-05-13 10:47                 ` [PATCH v4 0/4] catch syscall group Pedro Alves
2015-05-11 11:39               ` [PATCH v3 00/17] Catch " Pedro Alves

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=1431304069-19647-6-git-send-email-gabriel@krisman.be \
    --to=gabriel@krisman.be \
    --cc=dje@google.com \
    --cc=gdb-patches@sourceware.org \
    --cc=palves@redhat.com \
    --cc=sergiodj@redhat.com \
    /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