[prev in list] [next in list] [prev in thread] [next in thread] 

List:       opensolaris-mdb-discuss
Subject:    [mdb-discuss] Re: Dump content of all mblk in a streams queue
From:       "David E. Powell" <David.Powell () Sun ! COM>
Date:       2006-10-17 18:28:32
Message-ID: 12316408.1161135977436.JavaMail.Twebapp () oss-app2
[Download RAW message or body]

> > 0x3000a1733a8::print queue_t q_first |::list mblk_t
> b_next|::print
> mblk_t b_rptr|::dump
> 
> But ::dump will only give the data content of the
> first mblk, it cannot give the content of all mblks.

  Hmm... you seem to have found a bug.  You can work
  around it by instead piping to "::map ::dump".

> Instead,I wrote a simple dcmd called mblk_dump, and
> it works:

  Nice workaround :)  BTW, though you shouldn't need to go off
  and write your own dcmds for this, the ::dump functionality
  is available as mdb_dumpptr() and mdb_dump64() in the
  dcmd API in case you do (it might make things a little easier).
  
> Simple as it is, I am wondering why dump only work with the first
> element instead of accepting a list of addresses. It is tedious and
> error-prone to display the content of each mblk when there is hundreds
> of them, it is much desirable to print the content of all mblks (in a
> queue) with a single dcmd in this case.
> So isn't it better to have a dcmd that can accept a list of addresses
> and "dump" their contents?
> Is there any reason for ::dump 's current behaviour?

  At first blush, I'd say it's a bug.  Looking at the source, we
  return DCMD_ABORT in the DCMD_LOOP case:

http://cvs.opensolaris.org/source/xref/on/usr/src/cmd/mdb/common/mdb/mdb_cmds.c#2153

  This means that any attempt to ::dump the results of a ::walk
  will terminate after the first iteration.  The reason for doing this,
  as I recall, is because an address,count invokation is treated
  a little like a walker by MDB, but needs to be interpreted directly
  by ::dump.  Returning DCMD_OK means you'd get a deluge of
  unrequested ::dump output.

  This should work, so there's a bug.  I think fixing it may require
  changes to more than ::dump, though.

  Dave
 
 
This message posted from opensolaris.org
_______________________________________________
mdb-discuss mailing list
mdb-discuss@opensolaris.org
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic