I don't like kernel debugging in Solaris. Look at the following example:
> Spe_HQ::print
{
sc_rwlock = {
_opaque = [ 0 ]
}
sc_policies = 0xffffff01ee346880
}
> Spe_HQ.sc_policies::print
mdb: failed to dereference symbol: unknown symbol name
First of all, ::print is cumbersome. And to get at what I want to see:
> Spe_HQ::print struct spe_control sc_policies | ::print struct spe_policy
{
sp_id = 0
sp_stripe_count = 0
sp_interlace = 0
sp_attr_expr = 0
sp_name = 0
sp_guuids = [ 0, 0, 0, 0, 0, 0, 0, 0 ]
next = 0
}
Er, you're supposed to do 'Spe_HQ::print sc_policies'... And you can pipe that. Remember, mdb derives from adb, and so you have an address:command structure for its inputs.
Posted by Nico on September 19, 2008 at 05:08 PM CDT #