Heads-up: mdb ::print enhancements


Date: Thu, 24 Aug 2006 14:55:22 -0700
From: Jonathan Adams <jonathan.adams at sun dot com>
To: on-all at eng dot sun dot com, onnv-gate at onnv dot eng dot sun dot com
Subject: Heads-up: mdb ::print enhancements

My recent putback of:

4949088 ::print would be more useful with a couple more options

into build 48 changes ::print in two ways:

	1.  ::print now behaves well when its output is directed to a pipe.
	    Formerly, if you tried to ::print a structure member that itself
	    is a structure or array, you'd get an error:

		> 6000281f800::print proc_t p_user | ::print user_t u_finfo
		mdb: syntax error on line 1 of (pipeline) near "{"
		>

	    after this fix, this works as you'd expect;  the address is
	    passed down the pipeline:

		> 6000281f800::print proc_t p_user | ::print user_t u_finfo
		{
		    u_finfo.fi_lock = {
		        _opaque = [ 0 ]
		...

	    In addition, if you pass the "-a" flag, ::print will always pass
	    the address down the pipeline.

	2.  ::print now has a '-s' option, which specifies the maximum
	    depth to print out details in.  For example:

		> ::print -s 0 -t siginfo_t
		siginfo_t { ... }
		> ::print -s 1 -t siginfo_t
		{
		    int si_signo
		    int si_code
		    int si_errno
		    int si_pad
		    union  __data { ... }
		}
		> ::print -s 2 -t siginfo_t
		{
		    int si_signo
		    int si_code
		    int si_errno
		    int si_pad
		    union  __data {
		        int [60] __pad
		        struct  __proc { ... }
		        struct  __fault { ... }
		        struct  __file { ... }
		        struct  __prof { ... }
		        struct  __rctl { ... }
		    }
		}
		>

	    which is nice for cutting down on uninteresting output.

Enjoy!

- jonathan

~--
Jonathan Adams, Solaris Kernel Development

last modified by danmcd on 2009/11/24 14:22
Collectives
Project


© Sun Microsystems Inc. 2009
XWiki Enterprise 1.8.2.19075 - Documentation
Terms Of Use | Privacy | Trademarks | Copyright Policy | Site Guidelines | Site map | Help
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.