PDA

View Full Version : How do I filter memory information?



Josh-TotalView-Tech
07-20-2006, 09:04 AM
If your program allocates a large number of blocks, the information contained within the Memory Debugger's views can be overwhelming. In addition, memory allocations can come from different libraries and different parts of your program. Beginning with TotalView 6.7, you can control how much view information the Memory Debugger displays by applying filters.
[/url]To create or edit a filter, select the ... button to the right of the Enable Filtering checkbox.


http://www.etnus.com/Support/Tips/images/68Memory_generate_view_area.png
[/url]
The Memory Debugger responds by displaying its Data Filters dialog box. To create a new filter, press the Add button. To change an existing filter, select the filter, then press the Edit button. The following figure shows the Data Filters and the Edit Filter Dialog Box (which is the same as the Add Filter Dialog Box):

http://www.etnus.com/Support/Tips/images/67Memory_Filters.png

This is showing a filter that removes all references to the strdup() function.
[/url]The way in which you create a filter is similar to the way in which you create a filter within the Mozilla or Thunderbird mail systems. [/url]Within the [b]Add Filter or Edit Filter Dialog Boxes, select the Add button to add a new condition line. [/url]Use the pulldown lists in the first and second columns of the newly added line to select what action you want to occur. [/url]Finally, enter what you want filtered in the third column.
[/url]Notice that you can change the order in which the Memory Debugger will apply a condition. While changing the order shouldn't change the result, you would want to move a condition that removes the most information higher in the list.
[/url]Here are the values you can select in the first two columns:
[/url][b]Property[br]

[/url]The object that the Memory Debugger will look for:[br][br] [b]Process/Library Name
Source File Name
Class Name
Function Name
Line Number
Size (bytes)
Count
PC

[/url][b]Operator[br]

[/url]The operator indicates the relationship the value has to the property. Select one of the items from the pulldown list. If the property you've selected is a string, the Memory Debugger displays the following list:
[/url][b]contains
not contains
starts with
ends with
equals
not equals[br]
[/url]If the item is numeric, it displays the following list:[br] [/url][b]<=
<
=
!=
>
>=