xref: /xnu-8792.81.2/tools/trace/ios_trace_ipc.sh (revision 19c3b8c28c31cb8130e034cfb5df6bf9ba342d90)
1*19c3b8c2SApple OSS Distributions#!/bin/sh
2*19c3b8c2SApple OSS Distributions#
3*19c3b8c2SApple OSS Distributions# Initiate tracing
4*19c3b8c2SApple OSS DistributionsCODE_MACH_KMSG_INFO=0x1200028
5*19c3b8c2SApple OSS DistributionsCODE_MACH_PROC_EXEC=0x401000C
6*19c3b8c2SApple OSS DistributionsCODE_MACH_MSG_SEND=0x120000C
7*19c3b8c2SApple OSS DistributionsCODE_MACH_MSG_RECV=0x1200010
8*19c3b8c2SApple OSS DistributionsCODE_TRACE_DATA_EXEC=0x7000008
9*19c3b8c2SApple OSS Distributions
10*19c3b8c2SApple OSS Distributionsofile=${1:-ipc.raw}
11*19c3b8c2SApple OSS Distributionssleepsec=${2:-3}
12*19c3b8c2SApple OSS Distributions
13*19c3b8c2SApple OSS Distributionstrace -i -b 8192
14*19c3b8c2SApple OSS Distributionstrace -n
15*19c3b8c2SApple OSS Distributionstrace -g
16*19c3b8c2SApple OSS Distributionsif [ $sleepsec -gt 0 ]; then
17*19c3b8c2SApple OSS Distributions	echo ""
18*19c3b8c2SApple OSS Distributions	echo "Sleeping for ${sleepsec}..."
19*19c3b8c2SApple OSS Distributions	sleep ${sleepsec}
20*19c3b8c2SApple OSS Distributionsfi
21*19c3b8c2SApple OSS Distributionsecho "Tracing!"
22*19c3b8c2SApple OSS Distributions
23*19c3b8c2SApple OSS Distributionsps -Ac | sed 's,\s*\([0-9][0-9]*\) .*[0-9]*:[0-9]*\.[0-9]* \(.*\), 00000000.0  0.0(0.0)  proc_exec  \1 0 0 0 0 0  \2,' > "ps_${ofile}.txt"
24*19c3b8c2SApple OSS Distributionstrace -L ${ofile} -k ${CODE_MACH_KMSG_INFO} -k ${CODE_MACH_PROC_EXEC} -k ${CODE_MACH_MSG_SEND} -k ${CODE_MACH_MSG_RECV}
25