Commit Graph

96 Commits

Author SHA1 Message Date
njoly
2222627b2d Add a few NULL entries to linux_ptrace_ops[], to make PTRACE_SYSCALL
string appear at the expected indice 24.
2008-02-29 22:45:36 +00:00
perry
8b0f9554ff convert __attribute__s to applicable cdefs.h macros 2007-12-15 19:44:37 +00:00
dsl
bffcdd2c73 Apply the -N (show syscalls by number) to the system return trace.
Change 'USER' to 'MISC' since they get used for misc kernel traces as well.
2007-11-07 22:22:31 +00:00
agc
babe0fc9d8 Apply fix from PR 35283 from David Holland:
ensure that kdump properly escapes newlines in argv
2007-08-08 20:28:11 +00:00
dsl
5a557927e4 When displaying 'KTR_USER' data, exclude the header from the length, don't
enclose in ", and output using the hexdump function if -x (or -X) given.
2007-06-01 19:05:50 +00:00
dogcow
2fa8120f7e fallout from si_sigval -> si_value 2007-05-21 19:29:44 +00:00
njoly
f7ed257809 When decoding ioctl commands type; do not output non printable
characters, but the corresponding hexadecimal values.

ok by christos
2007-03-19 18:51:09 +00:00
ad
401499f30e Sync with kernel changes introduced by merging the newlock2 branch. 2007-02-09 22:08:48 +00:00
chs
aaf6e758a0 skip over the "self" sa when printing upcalls. 2007-01-28 21:29:59 +00:00
mrg
dbdbfa2c22 since register_t is sometimes unsigned, cast to (long) to check >= 0. 2006-10-23 04:13:51 +00:00
manu
8a1037a46b Add a -t+S flag to ktrace for tracing activity related to sysctl. MIB
names will be displayed, with data readen and written as well.
2006-09-23 22:01:04 +00:00
christos
c721423ddc Use the standard macros to compute the ioctl length instead of rolling our
own. Thanks to Chuck for noticing.
2006-04-05 00:50:59 +00:00
christos
ef5477c67d Add PT_SYSCALL 2006-03-05 17:03:19 +00:00
christos
4f17ba81bc Learn about v1 records and sa upcalls. 2005-12-11 11:31:34 +00:00
christos
64639a3896 Print symbolic signal names for killpg *sigaction* and *sigvec*. 2005-10-18 01:49:18 +00:00
christos
58fc70c4d6 WARNS=3 2005-07-16 22:00:01 +00:00
lukem
a3b235bbd2 appease gcc -Wuninitialized 2005-06-02 01:53:01 +00:00
dsl
5ac85b92f3 Ensure a non-zero 'word_size' is passed to hexdump_buf for unknown
trace types.
Also fix an incorrect use of the global word_size variable
2004-08-23 20:49:28 +00:00
matt
10efbfd5c3 Allow kdump to print the names for machine dependent ptrace ops.
(This requires <machine/ptrace.h> to define PT_MACHDEP_STRINGS
which corresponds to the machdep ops).
2004-05-06 22:51:38 +00:00
dsl
c395262f1f Suppress duplicate lines when hexdumping data 2004-03-07 17:20:53 +00:00
enami
3f98504ee8 Fix whitespace usage and remove unnecessary semi-colon. 2004-02-27 23:06:02 +00:00
enami
6a6547d143 We can't access array[sizeof(array) / sizeof(array[0])]. 2004-02-27 22:48:56 +00:00
enami
35c4c5bed3 Calculate the width again if we start newline at tab character, since
start column changes.
2004-02-27 22:44:38 +00:00
christos
301d580988 Fix reversed logic (decimal argument passed in output_long, where it expects
hex). Change tests to <= 9 to a small(v) macro, so that negative numbers fail
too consistently.
2004-02-02 06:27:56 +00:00
mrg
7ca9a9ac30 redo the former in light of making the kernel output normal 64 bit
records for 32 bit & 64 bit processes.  we still make some adjustments
when dealing with 32-bit processes, but largely things are handled the
same now.  make the code to match "netbsd32_<syscall>" in place of
plain "<syscall>" more general.
2004-01-15 14:42:09 +00:00
mrg
2ccd4840f5 - add a new flags field to the emulation vector, with one user so far
EMUL_FLAG_NETBSD32.  set EMUL_FLAG_NETBSD32 in any 32 bit on 64 bit
kernel emulation layers.
- if EMUL_FLAG_NETBSD32 is set, calculate the proper argument count.
(XXX: this should use register32_t, but that's not visible to all
builders of kdump...)

now netbsd32_ioctl(2) actually reports sane values, and other arguments
are mostly correctly printed (there are still some signed extension
issues with 32 bit numbers being displayed as "0xffffffff8xxxxxxx".)
2004-01-12 13:39:56 +00:00
manu
bb938d861a Fix cross-build problem on sparc caused by a cast size_t -> int 2003-11-24 22:12:14 +00:00
manu
23f30b17cb Enable tracing of out of line data sent with Mach messages 2003-11-24 16:53:38 +00:00
manu
32f7275395 For Mach messages, always display the message Id in decimal. The information
is indeed in the message, but in hex. It's a bit inconvenient.
2003-11-18 14:21:59 +00:00
dsl
3433691e60 Stop core dump if an ioctl trace has fewer than expected arguments.
- Check names of system calls (for special treatment) because emulations
  might use different numbers.
- Report an error if arguments to -p or -m non-numeric.
- Just take last of -x and -Xvalue, stop -X0x80000000 being valid (core dumps).
- Keep 'last used' emulation_ctx at top of list, create on lookup (usually
  EMUL anyway), delete when exit called (doesn't return).
- Slightly improve hack to get correct system call name in execve return
  when emulation has changed.
- Rename global variables 'current'/'previous' to 'cur_emul'/'prev_emul'.
(TODO: save system call type (and maybe an argument) per pid so GIO trace
format can depend on the actual system call.)
Fixes part of PR sparc64/23473 - but system call arguments will still not be
displayed correctly.
2003-11-18 13:21:53 +00:00
manu
e59cd6c2b4 Following mycroft's comment, restore -x to its original behavior: without
an argument. Introduce -Xsize to do the job. -x is equivalent to -X1
Of course -x and -Xsize are mutually exclusive.
2003-11-16 21:52:33 +00:00
dsl
826153cc5c Validate the numeric argument to -x, support -x1|2|4|8|16.
Produce sensible output on little-endian systems.
2003-11-16 14:51:26 +00:00
manu
91d6d92c2e Add an argument to the -x flag to choose between byte per byte display
and word per word display in hex dumps.
-x1 gives you byte per byte, -x4 word per word, and -x defaults to -x1
2003-11-16 10:13:48 +00:00
manu
a0399121cc kdump now displays Mach services names itself, including a table of
id/names in sys/compat/mach/mach_services_names.c

Remove ports and flags displays, the information is already in the message.
2003-11-15 23:10:31 +00:00
matt
fe365eaf9d Fix printf botch 2003-09-20 22:24:00 +00:00
christos
73bb764e22 improve formatting in the non-siginfo case, by printing the code. This is
for compatibility with the old ktrace files.
2003-09-20 00:17:44 +00:00
christos
b612016506 Print siginfo_t information when available. 2003-09-19 22:49:02 +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
dsl
a99fe675ab Change back to print hex bytes. The 'word' print was completely broken
on little endian systems.  It is also much easier to read misaligned
words in a straight byte hexdump.
Cut offset to 3 hex digits so that it fixs in 80 columns and still
leaves a tab at the start of 'continuation' lines.
The ktrace buffer is limited to 4k, so 3 digits is ample.
2003-07-13 18:54:29 +00:00
he
ac678f8de2 On some ports, pointer differences are not ints, so do a cast
before using such a result as a field width.
2003-07-13 15:19:39 +00:00
manu
cbfacd83b6 Make hexdump output fix in 80 char-wide terminal 2003-07-12 19:22:07 +00:00
manu
e9383d7e5d Use the same code to display hexdump of GIO and MMSG (Mach Messages).
While we are there, display offsets in the hexdump, it can be useful.
Remove size display in Mach Messages as user processes don't always
fill it correctly.
2003-07-12 10:07:08 +00:00
wiz
b712736290 Add -x to usage output. 2003-07-11 13:06:11 +00:00
dsl
6ea05bcbfe Add a '-x' option to display GIO data blocks in hex and ascii (instead of
vis(3) format).
Maybe there could be a heuristic to decide whether the data is printable...
2003-07-11 10:59:28 +00:00
fvdl
4fdb86c883 Back out previous. 2003-06-29 22:35:35 +00:00
martin
40ee31ef5e Since a caddr_t is (mis-)used as the lwp-id, cast it to intptr_t and use
apropriate format string.
2003-06-29 18:05:06 +00:00
darrenr
d0ad455673 add appropriate hack to display ktr_buf as the lwpid if -L is supplied on
the command line.
2003-06-28 17:15:07 +00:00
dsl
d9380c052a Print rval[1] if non-zero and present in the trace entry.
To get both fd numbers for pipe().
2003-05-15 12:57:54 +00:00
atatat
9658e47b39 Make "-m0" print no data, so that we agree better with the man page. 2003-01-30 21:43:26 +00:00