manpagez: man(ual) pages & more
man stringdups(1)
Home | html | info | man

stringdups(1)             BSD General Commands Manual            stringdups(1)


NAME

     stringdups -- Identify duplicate strings or other objects in malloc
     blocks of a target process


SYNOPSIS

     stringdups [-minimumCount count] [-stringsOnly] [-nostacks] [-callTrees]
                [-invertCallTrees] pid | partial-executable-name |
                memory-graph-file


DESCRIPTION

     stringdups examines the content of malloc blocks in the specified target
     process.  For all blocks which have the same content, it shows a line
     with the number of such blocks, their total allocated size (the total
     size in the malloc heap, not just the specific size of their content),
     and the average allocated size.

     stringdups requires one argument -- either the process ID or the full or
     partial executable name of the process to examine, or the pathname of a
     memory graph file generated by leaks. When generating a memory graph with
     leaks for use with stringdups it is necessary to use the -fullContent
     argument to include labels describing the contents of memory.

     If the MallocStackLogging environment variable was set when the target
     process was launched, stringdups also displays stack backtraces or call
     trees showing where all the blocks with a particular grouping of content
     were allocated.

     stringdups gathers the content of blocks of various types including:

     o   C strings (composed of UTF8 characters, null terminated, of any
         length)
     o   Pascal strings (composed of UTF8 characters with length byte at
         start, no longer than 255 characters, not necessarily null termi-
         nated)
     o   NSString of all types (immutable, mutable, UTF8, Unicode).  Malloc
         blocks which are the storage blocks for non-inline or mutable
         NSString's are listed separately.  The string content is shown for
         both but the block sizes accurately show what is allocated in the
         malloc heap for that particular chunk of storage.
     o   NSDate
     o   NSNumber
     o   NSPathStore2  (Cocoa's representation of file paths)
     o   __NSMallocBlock__  For these, stringdups shows the symbol name of the
         code block (^) that this storage is associated with.  If debug infor-
         mation is available, the source path and line number of the code
         block are also shown.
     o   item counts for collection classes such as NSArray, NSSet, and NSDic-
         tionary


OPTIONS

     -minimumCount count  Only print information for object descriptions which
                          appear at least count times in the target process.
                          The default minimum count is 2.  To see all strings
                          in the target process, use 1 or use 'heap <pid>
                          -addresses all'.

     -stringsOnly         Only print information for objects that have string
                          content such as C or Pascal strings, or NSString.

     -nostacks            Do not print stack backtraces or call trees even if
                          the target process has the MallocStackLogging envi-
                          ronment variable set.

     -callTrees           If stack backtraces are available, then by default
                          all the object descriptions for a particular stack
                          backtrace are consolidated together.  However if
                          this argument is passed then the output is consoli-
                          dated by each particular string and a call tree is
                          displayed showing the allocation backtraces of all
                          occurrences of objects with that description.  This
                          output can be very lengthy if minimumCount is a low
                          value, because the same call tree may be displayed
                          many times.

     -invertCallTrees     Same as except that the call trees are printed from
                          hottest to coldest stack frame, so the leaf malloc
                          call appears first.


SEE ALSO

     heap(1), leaks(1), malloc_history(1), vmmap(1), DevToolsSecurity(1)

BSD                              July 2, 2016                              BSD

Mac OS X 10.12.3 - Generated Sat Feb 4 13:45:23 CST 2017
© manpagez.com 2000-2017
Individual documents may contain additional copyright information.