9. Data Flow

<< Previous Table of Contents   |   Detailed Index Next >>
1. Create a DataFlow

-   Place the cursor on an object name in the file window.

-   Click the < Create DataFlow > in the toolbar.

      What does DataFlow show?

-   The statements that use the data object, the function-calls that take the data object as an argument

-   The control flow around the use of data object

      DataFlow enables you to:

-   Quickly find all the functions that use the data object,

-   How they use the data object - get a complete view of data use

-   When passed as an argument, expand the function-call - to view how it is used in the called function

-   With the graphical view, you can understand and remember much faster.

2. DataFlow of a local

A local variable is known only within a function.

-   When you create the DataFlow of a local variable, you will see how it is used in the current function.

-   When passed as an argument, expand the function-call - to view how it is used in the called function

3. DataFlow of a global

A global variable is visible to more than one function:.

-   In the DataFlow for a global, you will see all the functions where the global is used.

-   Double-click and expand any of those functions to view the use of the global in that function.

4. Dataflow of instances of a struct

DataFlow of a struct member in all the instances of the struct

-   Go to the member declaration and place the cursor on the member's name.

-   Click on the < Create DataFlow > in the toolbar

      Dataflow of an instance of a struct

DataFlow of a struct member in a particluar instance of the struct

-   Go to the code where it is used as member of that particular instance.

-   Place the cursor on the member's name.

-   Click on the < Create DataFlow > in the toolbar

      Dataflow of all instances of a struct

DataFlow of all instances of a struct

-   Place the cursor on the structure name i.e. the struct tag.

-   Click on the < Create DataFlow > in the toolbar

5. Expand function-call in a DataFlow

The presence of a function-call involving the data object is indicated by the icon above the symbol.

-   Double-click on a symbol that contains a function call.

The expansion is inserted just before the function call.

      Collapse an expansion

Double-click on the start symbol of the expansion

6. View the code covered by miniature symbols

-   Click on miniature symbols and view the code covered by them.

      Scroll highlighted code

-   Click the < Scroll Code Up > and < Scroll Code Down > in the Flowchart window toolbar

7. Easily navigate to many functions in many files

Click on a flowchart symbol and view the corresponding code in the Source File

-   Click on the symbol containing "Tracking:..." to go to the start of the function in file window.

-   In a DataFlow expansion, click on the start symbol to view the function-call in the file window

8. View the CallStack

When you expand function-calls in a DataFlow, often you have a sequence of DataFlows that are nested in one another:


To view the sequence of functions that brought you to a nested expansion:

-   Right-click in any symbol in the nested expansion

-   Select < Function Call Stack > in the pop-up menu


Now you can see the full call stack.

-   Click on a function’s-name in the call-stack to go to its expansion

9. View the function’s full flowchart

-   Click on any symbol in the DataFlow so that the corresponding code is highlighted in the File Window.

-   Click in the main toolbar at the top.

      Go back to DataFlow

To go back to the DataFlow:

-   Click < Back to Flowchart > in the Flowchart toolbar

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