11. Data Dependency Trees

<< Previous Table of Contents   |   Detailed Index Next >>
1. Create a Data-Dependency Tree

Place the cursor on any data-object.

-   Click <Create Data Dependency Tree> icon in the toolbar.

      Data-Dependency Tree of a global

Place the cursor on a global and create it’s data-dependency tree.

The data-dependency tree of a global variable will contain

-   All occurrences where the global variable is being modified

-   If a global variable is being passed as a function argument, then the name of the function.

-   All modified occurrences of the objects modifying the global variable; and so on.

      Data-Dependency Tree of a local

Place the cursor on a local and create it’s data-dependency tree.

      Data-Dependency Tree of a member

Place the cursor on the structure member and create it’s data-dependency tree.

The data-dependency tree will contain:

-   All modified occurrences of the member.

-   All modified occurrences of the objects modifying the member

-   If the member is being passed as an argument, then the name of the function.

2. Expand the Data-Dependency tree

Expand the nodes of the Data-dependency tree by clicking on "+"

      Expand the whole Tree

To fully expand the sub-tree under the current node,

    Right click anywhere in the Tree window; Click < Expand Full >

3. Navigating

Double-click on any node in the Data-Dependency tree to go to the corresponding source code line.

4. Node Prefixes

-   A     - indicates that the node is an array

-   D     - indicates that the node is a defined constant

-   E     - indicates that the node is an enum variable

-   F     - indicates that the node is a function

-   G     - indicates that the node is a global

-   M     - indicates that the node is structure or union member

-   P     - indicates that the node is a pointer

-   T     - indicates that the node is a typedef

-   EC    - indicates that the node is an enum constant

-   FA    -indicates that the node is a function argument

-   FP    -indicates that the node is pointer to function

-   GA    -indicates that the node is a global array

-   MP    -indicates that the node is a member pointer

-   +     - indicates that the node is EXAPANDALBLE

-   -     - indicates that the node is EXPANDED

-   *     - indicates that the node is RECURSIVE

5. The "Search in Tree" dialog

Click the < Search in Tree > in the Tree Window toolbar to view the "Search in Tree dialog".

      The Enable Display card

Use this card to:

Enable/disable information that is displayed alongside each node

      The Highlight occurrences card

Use this card to:

Select the criterion by which other occurrences of a node are highlighted

      The Advanced Search card

Using this card, you can:

find the next occurrence of an object name

find the next object used from a specific file.

find the next occurrence of a function in the tree.

use the "history list" to search for a particular object, struct, class, type or #define

search for a string in all the text that is being displayed in the tree-nodes..

6. Attach information to tree nodes

Each node in the data-dependency tree shows

1. Name of data object

2. function name

3. file name

4. Line number


Use the "Enable Display" card in the "Search in Tree" dialog

      View function names in which objects     are used

Select "Function Name"; click < Apply >.

      File Names where Objects are used

Select "File Names"; click < Apply >.

      Attach Comments to tree nodes

At each tree-node, view the comment associated with the function call:

Select "Associated Comment "; click < Apply >.

      Objects used by functions

Select "Object Name"; click < Apply >.

Use the "Object Search" card to search for specific data objects and display them in the relevant tree nodes

7. Search for a Object in the Data Dependency Tree

Use the "Advanced Search" card of the "Search in Tree" dialog

8. To view the occurrence of an object deep in the Tree

-  Select the node corresponding to the object

-  Right click in the tree window, and, then click < Show Path >. Now you can see the path from the root to the     node for the object.

<< Previous Table of Contents   |   Detailed Index Next >>