Commit Graph

41 Commits

Author SHA1 Message Date
drochner 628f1591c1 include <signal.h> where signal(3) is used 2007-02-08 21:36:58 +00:00
hubertf 48b31403c5 Remove duplicate #includes
From Slava Semushin <slava.semushin@gmail.com>, via private mail
2007-01-17 00:21:43 +00:00
wiz 54282824e9 Sync usage with man page. 2005-12-12 22:42:34 +00:00
christos e297758924 Learn about ktrace v1 records. 2005-12-11 11:29:06 +00:00
enami 686e03f5e7 - If fktrace(2) failed, just exit rather than waiting for trace output.
- Reduce #ifdef a bit.
2004-07-16 23:52:01 +00:00
enami 66820706e0 No need to pretty print the errno with err() or warn(). 2004-07-10 00:00:58 +00:00
christos 1e77a9474a Fix a bug in ktruss and ktrace, where they would randomly stop tracing if
the write to the ktraced file descriptor (when they used fktrace internally)
would block. Fix by clearing the non-blocking bit in the file descriptor by
default, so that the writes will block. This has the side effect of stopping
the traced process. Add a flag to override (-n) this behavior and have the
trace stop without blocking the traced process (the previous behavior).
Fix lint, add checks to failed syscalls, ansify.
2004-06-24 15:50:50 +00:00
enami a612fb0b9d Replace rest of exit status `1' with EXIT_FAILURE. 2004-02-28 02:42:45 +00:00
enami 698c01aba0 Fix usage:
- ktrace(1) takes -s.
- ktruss(1) takes -l.
- -C/-c and commands are exclusive.
- make output fits 80 column.
2004-02-28 02:22:31 +00:00
enami 8a1309b72f - Make ktruss(1) works as expected when -c or -C is specified.
- Include pid or file descriptor in error message when
  ktrace(2)/fktrace(2) failed.
- Remove unnecessary cast.
2004-02-28 01:43:07 +00:00
enami 4d34b523bc Fix whitespace usage. 2004-02-28 01:37:56 +00:00
jmmv b635f565e7 Homogenize usage messages: make the 'usage' word all lowercase, as this seems
to be the most common practice in our tree.
2004-01-05 23:23:32 +00:00
manu 23f30b17cb Enable tracing of out of line data sent with Mach messages 2003-11-24 16:53:38 +00:00
agc 89aaa1bb64 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
2003-08-07 11:13:06 +00:00
dsl fde07830ad Grok KTR_EXEC_ENV and KTR_EXEC_ARG.
Make ktrace -c default to removing all trace points (not just the default ones).
Make kdump default to dumping everything in the trace file.
Add 'A' (all) and '-' (remove following) to valid -t arguments.
Dump data block of UNKNOWN trace points in hex + ascii.
Make first time output with -R 0 (instead of time since epoch).
Use svis() instead of vis() to get " escaped (as \") (needs fixed libc)
Correctly pass unsigned values to svis()
Update man pages.
2003-07-17 09:05:11 +00:00
manu 6492e2171f Added support for dumping mach messages in ktrace/kdump. While we are
there, KNFify a few functions.
2002-12-09 21:29:20 +00:00
christos 36496d50b7 PR/17643: Jared D. McNeill: ktrace leaves ktrace.out file with a kernel
that does not support ktrace.
2002-07-19 12:53:31 +00:00
assar 8422fba5ab repair command-line parsing so that an error is generated if no pid or
program is given (or input file for ktruss)
2001-09-02 23:18:01 +00:00
simonb c24218a889 Add a -s option to open the trace file with O_SYNC. 2001-05-04 07:09:55 +00:00
simonb 0f134bcc0b Don't assume pipes are implemented as sockets -- don't call setsockopt()
on the pipe descriptors.
2001-05-01 02:15:04 +00:00
cgd a8ec668ddf convert to use getprogname() 2001-02-19 23:03:42 +00:00
jdolecek af319ecb1a constify 2000-11-13 21:35:38 +00:00
itojun bbef2fbaac errx?/warnx? audit. do not pass variable alone, use %s. idea from openbsd 2000-07-07 15:10:32 +00:00
matt fcd0fb118f Make gcc 2.96 (and maybe earlier) happier. Include <stdlib.h>,<string.>,
etc. as appropriate to get exit,srncmp,abs,abort,etc.
Add -I${.CURDIR} to a few Makefiles
2000-07-03 02:51:12 +00:00
sommerfeld d4ddc11a83 Two tweaks:
- For cleaner subprocess traces, malloc something before
spawning, so the syscalls malloc does while initializing don't gunk up
the trace.
	- Increase pipe buffer sizes.
2000-05-27 00:45:37 +00:00
itohy 0af9894f2f [ktruss] Use fork(2), not vfork(2).
The child process of do_ktrace() does return and the stack is
changed by another function call (execvp()).
By using vfork() (my previous change), the execution of the parent
process resumes on the modified stack.  Oops.
We could use vfork() carefully, but for now use fork().

Problem reported and investigated by Ethan Solomita <ethan@geocast.com>.
Thanks.
2000-04-13 01:27:53 +00:00
jdolecek 0cdfde1cbc DTRT vs setemul() (for ktruss, similar to kdump.c) 2000-04-10 09:32:03 +00:00
jdolecek 84c8f8889f update to setemul() changes 2000-04-10 07:59:22 +00:00
itohy 2f4c0d5e74 Make ktrace(1) not affect interactions between processes.
Following examples show the cases.

    % ktrace -f - false >/dev/null && echo wrong
    wrong
    % ktrace -f - -i /usr/sbin/update >/dev/null
    (does not return to command line)

That is, back out last change and restore the roles of parent/child for
ktrace(1).  The ktruss(1) stuff still remains.
Yes, ktruss(1) has the problems.  Better implementation is expected.
1999-10-29 09:11:49 +00:00
darrenr c1f203f8b5 Change behaviour from running the command as the parent and ktrace/ktruss as
the child to be ktruss/ktrace is the parent.  This fixes a problem with ktruss
where the prompt would be returned in the middle of output.
1999-07-30 14:03:55 +00:00
itohy 99624b0b6d Fix fowllowing problems:
1. If fork()ing, the program is executed twice.
2. If the ktruss(1) output is bufferd, the final output is not flushed
   (because it is executing).

    % ktrace -f - rm >/dev/null
    usage: rm [-dfiPRrW] file ...
    usage: rm [-dfiPRrW] file ...
    % ktruss date | cat
    Fri Jul 23 12:09:45 JST 1999
    Fri Jul 23 12:09:46 JST 1999
    %
1999-07-23 03:10:49 +00:00
kleink 3ed4fcf61e In userland, pull in <errno.h> instead of <sys/errno.h> for the declaration
of errno.
1999-01-11 22:39:59 +00:00
nathanw 3cc8349a71 Make "ktrace -f" work again. Slightly klugy because of the
#ifdef's for KTRUSS.
1998-07-14 01:39:59 +00:00
christos 9ec832e055 Appease gcc on arm32 1998-06-27 21:37:50 +00:00
christos 7bc28d2954 fktrace support / ktruss additions. 1998-06-27 21:24:22 +00:00
nathanw 21ae5a9db0 Make "ktrace -c" work as documented.
Update usage message to match reality.

Closes PR bin/5358.
1998-06-27 04:20:59 +00:00
mikel 463fe05164 add explicit return types and prototypes for local functions
use __COPYRIGHT and __RCSID macros, fix other gcc -Wall warnings
1997-07-23 05:42:55 +00:00
jtc 9cffeee5b2 Sync with 4.4lite2 1995-08-31 22:50:22 +00:00
glass 58695b5fdb reapplied patch that made ktrace behave well when kernel subsystem wasn't
installed.
some KNFing.
fixes PR 663 as reported by muir@idiom.com
1995-01-03 07:04:18 +00:00
mycroft 2fd4512058 Add RCS ids. 1994-10-06 15:44:32 +00:00
cgd 1142494822 updated ktrace 1994-05-11 07:10:43 +00:00