Comparing sessions will identify:
•Regressions since a baseline session
•Improvements from the baseline session to the other
•Leaks common to both sessions
Manual regression testing is possible using the Session Manager to compare two sessions with each other.
•Compare... shows the Compare Sessions dialog
Only enabled when at least two different sessions are loaded.
For there to be at least two loaded sessions, you need to switch off auto purge or increase the maximum number of sessions so as not to limit the number of open sessions.
Choose two sessions from the drop down lists in the Compare Sessions dialog, one as the baseline session and the other to compare against it.
Check the sessions in the drop down lists are the ones you want to compare.
•Compare... shows progress of analysis and then the Session Memory Comparison dialog
Each session will have some session filters that may or may not be the same.
Checkboxes at the top of the dialog and under each selected session let you choose whether to apply global or session filters during comparison
Although you can apply the session filters during the comparison, you need to be sure that the filters are the same, in order for the comparison to be fair.
During comparison, it's generally best to apply global filters rather than session filters.
The dialog shows details of memory leaks grouped as follows:
•Regressions: leaks that occur in the second session but not in the first (the baseline)
•Improvements: leaks that were in the first session but not in the second
•Common Leaks: those leaks found in both sessions
Underneath the memory information are some statistics:
•Total (1) and (2): The total amount of memory leaked and number of handles leaked for each session
•Totals: The amount of leaked memory attributed to regressions, improvements and common leaks
•Objects: The number of leaked objects for each of regressions, improvements and common leaks
The comparison data may be quite long so there are a few convenience buttons to scroll the data to each section
•Goto Regressions scrolls to the start of the regression data
•Goto Improvements scrolls to improvements
•Goto Common scrolls to common data
The data in this comparison dialog is displayed the same as other tab views such as the Memory tab.
You can expand the items to view the allocation callstack and source code snippets.
There's an option to expand lower level data automatically:
•Auto Expand if checked, causes every item's callstack to be expanded automatically when expanding one of the three top level items
You might well find that you have a lot of data, or you might be looking for regressions of a particular nature.
•Filter... shows the session comparison private filters dialog
The comparison filters are used in an identical way to Local Filters, using the Filter Definition dialog.
•Find... shows the Find Memory dialog to search the comparison data for particular allocation criteria or object types
The Find Memory dialog is the same as that used when searching for memory in the Memory tab views.
Items in the comparison dialog that match the search criteria are highlighted gray:
You might need to export the session comparison data to share it with team members who don't have Memory Validator
•Export shows the Session Compare Export dialog
Choose the file location and the format: XML or HTML.
If exporting as XML, you can optionally include the event id tags in the data.