Posted by & filed under Tips.

I was walking down to the kitchen to get my afternoon cookie and I met another of our engineers. He asked “hey, how would I use Understand to clean up a class of functions that are no longer used?”. I thought for a bit and said “piece of cake”.

In short…. use the entity filter window to filter on “unused functions”, turn entity->long names on, then type in the name of the class. Done. 

Here are the steps….  First select the “Unused Functions” filter in the Entity Filter window:

2008-09-30 16.36

Read more »

Posted by & filed under Tips.

We are busy internationalizing important messages in Understand 2.0 so that they can be translated into Japanese. This involves a lot of changes that are identical. For instance, all translatable strings have to be turned into functions that go through a translation function “tr()” that will table lookup the string to the corresponding Japanese translation.

So take for instance this section of code:

procedure Buffer_Demo is
   EOL  : Character renames ASCII.LF;
   Text : constant String
     := “Four score and seven years ago our fathers brought forth,” & EOL &
        “upon this continent, a new nation, conceived in liberty,” & EOL &
        “and dedicated to the proposition that `all men are created equal’.”;

I’ve got to make it look like this:

procedure Buffer_Demo is
   EOL  : Character renames ASCII.LF;
   Text : constant String
     := tr(“Four score and seven years ago our fathers brought forth,”) & EOL &
        tr(“upon this continent, a new nation, conceived in liberty,”) & EOL &
        tr(“and dedicated to the proposition that `all men are created equal’.”);

Fortunately, Understand 2.0 can record editor macros that make repeated tasks easy and possibly fun.

Here is how…

Read more »

Posted by & filed under Tips.

Understand Favorites lets you organize locations (file/line#) or entities (e.g function foo, file foo.cpp) into named folders.

Favorites are shown in the “Favorites” window, which you can show by clicking on the star icon in the toolbar or by View->Favorites.

I have two Favorites groups set up in my current project. One called ‘test’ and the other ‘testing’.



For instance, in testing I have a function, a location, and a “butterfly graph” saved for easy access.

2008-09-18 14.04


Being able to save locations in the code gives me the ability to easily mark where a  crash or bug can be replicated. This way I will be able to finish fixing the bug when I get back into the office tomorrow without having to start over.

First I just click in the editor where I want to remember. Then right click and select the ‘Add Location to Favorites’ and select the group that I want to save it to.

It is now in my Favorites and I can visit it just by double clicking on it.

Posted by & filed under Tips.

Our most frequently asked support question goes something like this: “I see the graphs on your website, but how do I get them in Understand?”.  With Understand 1.4 the only way to get a call tree other other graphical view was to right click on the function and choose “Graphical Views->Call Tree”.  That is totally obvious to some new users and to others a huge mystery. And that is understandable. Not everybody has used applications with right click context menus.

Understand 2.0 keeps the context menus, but also adds a new Graph Toolbar:

2008-09-18 11.08

This toolbar item updates whenever you click on an entity anywhere in source or any of Understand’s graphical or other informational views.

To get a graph, just pull down the menu:

2008-09-18 11.11

and the graph will pop right up.




Posted by & filed under Tips.

Our hierarchy charts have always shown one relationship, for instance “Call”, on a chart. We’ve just introduced “Butterfly” charts, which will show two relationships that are the inverse of each other. For instance, “Call and CallBy”, “Include and Include By”, “Derived and Derived By”.

For instance, here is a butterfly chart for a function (click on it to see it bigger):

2008-09-08 14.34

The function queried was “add_data_in_datablock”. Note that it is in the middle, with calls it makes to the right, and those it is called-by to the left.

These graphs are available for every entity that we have hierarchical graphs for.

Posted by & filed under Tips.

We just added this toolbar section to the Understand 2.0 toolbar:

2008-09-08 14.11

It controls workspace splitting. Here are some examples. Click on them to see them bigger.

Single document view workspace:


2008-09-08 14.17

Split workspace – horizontal & vertical

2008-09-08 14.18  2008-09-08 14.20

Read more »

Posted by & filed under Documentation.

The Understand editor’s “Browse Mode” makes all entities in the editor behave like links in a web browser. With a single click you can visit and update the Information Browser.

The other way of exploring/learning about code in the editor is via the Right Click context menu. For instance, if I want to learn about allocstrAppend() I right click on it:

2008-07-28 21.35

Read more »

Posted by & filed under Tips.

A frequent complaint of Understand 1.4 users was that unless their project was syncronized to an MSVC project it was difficult to keep Understand projects up to date about new files and especially hard to keep files removed from a project from showing up again when adding new code.

Understand 2.0 addresses this with the “Watched Dir” concept. By default any directory you add is a “watched dir”.

Understand 2.0 scans all project “watched dir” for new/removed files and the project file list updated automatically.  Importantly, any modifications you have manually made – either by removing or by changing file filters is remembered.  In 2.0 you only have to remove a file once it won’t come back unless you add it specifically.

You can trigger a rescan  with the Project->Rescan button:

2008-07-24 08.05

Or automatically on a schedule with the Project scheduler available in Project->Configure Project:

2008-07-24 08.06

Read more »

Posted by & filed under Tips.

It is very common to walk a call, call by, or class hierarchy tree seeing what is “going on”.  You can do this in the Information Browser, or in the various graph views we have provided for years.

A new way in Understand 2.0 is the Entity Explorer window.  It permits keyboard based fast exploring of reference hiearchies with syncronized source and informatoin updates.

To see this just click on any entity that has relationships. For instance, a function, and choose “Explorer”.  It will list the reference hiearchies availble to explore:

2008-07-24 00.24

Read more »