Jonathan Adams writes:
>         > ::walk thread | ::print kthread_t t_procp
> 
>       it should be possible to shorten this to:
> 
>         > ::walk thread | ::print t_procp

This is very cool to see (and it seems like we were just discussing
this somewhere recently ...).

I've gone through the materials, and I have one question about the new
behavior for ::print: how does it disambiguate the command line?

For example, if I do this:

        > ::walk foo | ::print bar

is "bar" a member of whatever sort of structure the "foo" list
contains, or is "bar" the type of object I want to print in its
entirety?

Suppose I really do want to print all of kthread_t in the example you
gave above.  What would this do?

        ::walk thread | ::print kthread_t

Is that now an error because kthread_t is a member of the kthread_t
structure?

I can see how I'd use this if both the data type and the member are
present, but I'm not sure what the new command does when there's just
one token.

Perhaps what's needed is a new summary for ::print -- the command line
in the documentation (though oddly not the ::help text) says this:

[address] ::print [-aCdiLptx] [-c lim] [-l lim] [type [member|offset ... ]]

... but that strict [type [member]] nesting (meaning that "type" is
always present when "member" is present) is no longer true.

-- 
James Carlson, Solaris Networking              <james.d.carlson at sun.com>
Sun Microsystems / 35 Network Drive        71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677

Reply via email to