HDUMP displays the following types of information to help identify these references:
If none of the optional parameters are specified, this will produce the following information:
All output files will use the same file extension as the log-hd file used as input.
After you have executed HDUMP once, you may want to invoke it again in interactive mode, using the -i parameter:
In interactive mode, you can specify the object id of any object that you find in the b1st file to view the shortest reference path to that object. This path is both displayed on the screen and appended to the heapsum file. These paths are extracted from the information in the b1st file and can be done very quickly.
After you have produced all of the shortest paths you want, you can specify objects using the r command to produce a listing of all of the objects which reference the selected object, using a breadth-first algorithm which works backwards from the object to the roots which reference it. This is actually a list of everything that is keeping this object alive. All of these listings are written to the b2nd file.
The processing for these reverse listings destroys the internal copy of the b1st data, so it is only done after the shortest path listings. These b2nd listings can also be selected by specifying the object id on the command line with the -r parameter for up to 32 objects:
The other parameters and files are primarily for debugging, except as noted below. You can display a list of them by using ? as the only parameter.
The format of the b3rd file is the same as the b1st file. However, the roots used in the b3rd file are those found using the b2nd algorithm with all of the objects created between heapdumps m and n. Furthermore, only those objects referenced in the b2nd search that determined those roots are included in the b3rd output. The result is a greatly reduced subset of the b1st file that includes only those references that are keeping these new objects alive.