summaryrefslogtreecommitdiff
path: root/sys/gdbscripts/xps
blob: 4955717360bb906f5b309bb76c29d5159c8ce754 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#	$NetBSD: xps,v 1.4 2003/02/26 21:36:14 lha Exp $

# xps
# kernel ps
#
#	@(#)xps	8.3 (Berkeley) 8/22/94

define xps

	set $i = 0

	while ($i < 2)

		if ($i == 0)
			set $p = allproc.lh_first
		end
		if ($i == 1)
			set $p = zombproc.lh_first
		end

		printf "              proc   pid     flag nlwps comm\n"
		printf "\t  flag             wchan\n"
		while ($p)
			printf "%#18lx %5d %8x %2x %d         %s", \
				$p, $p->p_pid, \
				$p->p_flag, $p->p_stat, $p->p_nlwps, \
				(char *) $p->p_comm
			printf "\n"
			set $l = $p->p_lwps.lh_first
			set $j = 0
			while ($j < $p->p_nlwps)
				printf "\t%3x %#18xl", $l->l_flag, $l->l_wchan
				if ($l->l_wmesg)
					printf " (%s)", (char *)$l->l_wmesg
				end
				set $l = $l->l_list.le_next
				printf "\n"
				set $j++
			end
			set $p = $p->p_list.le_next
		end
		set $i++
	end
end