On Tue, Jul 12, 2016 at 03:30:37PM +0200, Amin Khorsandiaghai wrote: > --- > strace.1 | 5 +++++ > strace.c | 6 +++++- > syscall.c | 21 +++++++++++++++++++++ > 3 files changed, 31 insertions(+), 1 deletion(-) > > diff --git a/strace.1 b/strace.1 > index b7dddc0..5f5c1cc 100644 > --- a/strace.1 > +++ b/strace.1 > @@ -488,6 +488,11 @@ When strace can be interrupted by signals (such as > pressing ^C). > 4: fatal signals and SIGTSTP (^Z) are always blocked (useful to make > strace -o FILE PROG not stop on ^Z). > .TP > +.BI "\-m " traceclass > +List all system calls in a trace class. For example > +.BR "\-m file" > +prints the list of all system calls in file class. > +.TP
Why -m?
> @@ -1601,6 +1601,10 @@ init(int argc, char *argv[])
> case 'e':
> qualify(optarg);
> break;
> + case 'm':
> + print_trace_class(optarg);
The code shouldn't cause compilation warnings.
> --- a/syscall.c
> +++ b/syscall.c
> @@ -504,6 +504,27 @@ lookup_class(const char *s)
> }
>
> void
> +print_trace_class(const char *trace_class)
> +{
> + unsigned int i;
> + unsigned pers;
> + int rc;
> +
> + if ((rc = lookup_class(trace_class)) != -1) {
> + fprintf(stdout, "List of system calls in %s class\n",
> trace_class);
Shouldn't there be a separate line printed for each personality?
Shouldn't shared_log be used instead of stdout?
See e.g. call_summary().
> + fprintf(stdout, "-------------------------------------\n");
> + for (pers = 0; pers < SUPPORTED_PERSONALITIES; pers++) {
> + for (i = 0; i < nsyscall_vec[pers]; i++)
> + if (sysent_vec[pers][i].sys_flags & rc) {
> + fprintf(stdout, "\t%s \n",
> sysent_vec[pers][i].sys_name);
This line's too long.
> + }
> + }
> + } else {
> + error_msg_and_die("invalid class '%s'", trace_class);
> + }
The preferred style is
int rc = lookup_class(trace_class);
if (rc < 0)
error_msg_and_die("invalid class '%s'", trace_class);
...
--
ldv
pgpuzKlI61nYO.pgp
Description: PGP signature
------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev
_______________________________________________ Strace-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/strace-devel
