xref: /xnu-10002.1.13/tools/trace/ios_trace_ipc.sh (revision 1031c584a5e37aff177559b9f69dbd3c8c3fd30a) !
1#!/bin/sh
2#
3# Initiate tracing
4CODE_MACH_KMSG_INFO=0x1200028
5CODE_MACH_PROC_EXEC=0x401000C
6CODE_MACH_MSG_SEND=0x120000C
7CODE_MACH_MSG_RECV=0x1200010
8CODE_TRACE_DATA_EXEC=0x7000008
9
10ofile=${1:-ipc.raw}
11sleepsec=${2:-3}
12
13trace -i -b 8192
14trace -n
15trace -g
16if [ $sleepsec -gt 0 ]; then
17	echo ""
18	echo "Sleeping for ${sleepsec}..."
19	sleep ${sleepsec}
20fi
21echo "Tracing!"
22
23ps -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"
24trace -L ${ofile} -k ${CODE_MACH_KMSG_INFO} -k ${CODE_MACH_PROC_EXEC} -k ${CODE_MACH_MSG_SEND} -k ${CODE_MACH_MSG_RECV}
25