Posted by & filed under Tips.

Sometimes we just want to see multiple things at once, and our editor window allows for just that!

Clicking the icon in the top right corner of the editor window provides a “split” window feature that

allows you to see the same file multiple times.

Each different section can be scrolled individually and the height can be changed if you

need to see more of one section than another.

Now it gets even more cool… using the icons at the top select the icon to ‘split vertically’.
Now you can see the source file and the companion header file that goes with it. Since the source file is quite long I still want to see different areas of the same file, so I remember to use the horizontal split that we just discussed.


Giving me a very custom view of exactly what I want to see!

Posted by & filed under Build Notes.

(Build b762) – 23 Jan 2015


  • Updated MISRA 2008 rule 6-5-1 and All Check script forLoopShallContainASingleLoopCounter.upl to be more accurate.

  • Updated MISRA 2008 rule 7-1-1 and All Check script unmodifiedVariablesShallBeConst.upl to be more accurate. Removed potentialConst.upl as this check is now obsolete.
  • Updated MISRA 2004 rule 14.4 and All Check script noGotoStatements.upl to be faster.
  • Updated All Check script externalLinkageShallBeDeclaredInAHeaderFile.upl to be more accurate.


  • Added a history with forward and backward buttons to the entity locator.


  • Fixed crash when activating some items from the Window menu with the keyboard on Windows.

  • Better support all platforms when updating versions from within Understand.
  • Fixed bug in duplicating architectures.


  • Fixed a crash in architecture dependency graphs with selected entities that occurred after analyze.


  • Fixed crash in parsing some lambda expressions.


  • Include Search verifies that only directories are searched.


  • Fixed kind of static functions with the static specifier on a declaration but not the definition.


  • Added support for the -iframework flag in CMake compile command import.


  • Fixed file relative name calculation in projects with VHDL enabled.


  • For web Javascript, added support for some Javascript 6 features (array decomposition in var declaration).

Posted by & filed under Tips.

Have you ever wanted to highlight an entity and then highlight a different entity but not lose the highlighting on the first? With the ‘Toggle Persistent Highlight’ key binding option that has recently been added to Understand, up to 4 different entities can be highlighted at the same time.


To use this feature, go to Tools->Options->Key Bindings and Search By Name for ‘highlight’. Assign a Primary Sequence to the ‘Toggle Persistent Highlight binding and Apply. Then, in the editor, highlight an entity, use the binding and it will highlight all entities that color. To apply the next highlight, repeat the steps and the next color isused. To remove one of the highlights, select a highlighted entity and use the key binding again. To remove all of the highlighted entities at one time, assign a Key Binding to the ‘Clear Persistent Highlights’ binding in Tools->Options->Key Bindings.



Posted by & filed under Tips.

Whether you just started a new job, inherited someone else’s project, or just have a lot of code to navigate, Understand has a lot of features to help you figure out a new or confusing project.

Dependency Graphs

These graphs provide a quick way of seeing how the major code directories are related to each other. In this case I can easily see that the directories “common” and “ri” are important and used by almost everything. The dependency graph lets you drill down to the class and function level and filter out things you aren’t interested in, making it a great tool for exploring.


UML Class Diagram

A quick way to see how the different classes in the project are related.



Flowchart Graphs

Complicated functions can make more sense when you can walk though the control flow logic visually.


Information Browser

Imagine browsing the source for a function and running across an unfamiliar variable, what is it, where was it defined, is it global or local? The Info Browser was made to answer questions like that. While not as pretty as the graphs, the Information Browser (IB) is probably the most powerful feature of Understand.It displays almost everything Understand knows about the selected entity: the initial value, relationships to other entities, everywhere it is referenced, sub-entities, basic metrics, etc. Just right click and select View Information on just about anything.



Contextual Information Sidebar

The Contextual Information Sidebar(CIS) updates dynamically based on where focus is in the editor, showing pertinent information about the surrounding structures and entities. It provides a quick heads-up display to provide context on whatever you are looking at.

Context Information Sidebar


Browse Mode

If you’re exploring more than writing code, browse mode can save you a few mouse clicks, it changes entity names in the editor to hyperlinks that update the Info Browser and jump to the definition of the clicked entity.

browse mode



As you make sense of the code, you may want to make notes on what you’ve learned. Annotations lets you make notes on entities without modifying the source code. You can choose to share those notes with others on your team or keep them private. Annotations are displayed inline with the code as well as in the Info Browser. That can also be displayed as a list and searched so you can quickly find the the right note.


There are many other features in Understand that may prove helpful in your situation, for a more detailed feature overview see this video.

You can grab a fully functional eval version of Understand and get started now!

Posted by & filed under Plugins, Tips.

User Andrzej has shared his User Tools for performing Version Control operations in Understand. Similar to our posts on using SVN and CVS commands in Understand.

To install just go to Tools->User Tools->Import

Thanks Andzej!


Posted by & filed under Announcements.

We finished our official testing this morning and are happy to announce support for Windows 8.1. Our testing was done with Understand 3.1 build 694 – however earlier builds of Understand will probably work just fine.

Posted by & filed under Release.

With build 642 we’ve added an awesome new feature called Background Parse. It is designed to let you get right to work on your project as soon as Understand opens, instead of needing to wait for the parse. Right away you’ll have access to the Project Browser and Editor windows, and as soon as the parse is finished, everything else will be available.

Other features added since the release of Understand 3.0:

Added build system monitoring with buildspy
Added support for Windows 8
Improved project building capability
Improved Visio Export
Added ability to annotate code

Posted by & filed under Announcements.

We are happy to announce support for directly exporting graphs to a Visio compatible file.image

In the past we have used the Visio API to export Understand’s graphs to Microsoft Visio. Understand would attempt to launch Visio and use the API to interactively draw the graph in Visio. There were several problems with this approach, the nodes and arrows of the graphs were not adequately connected, and in some cases the API would refuse to launch Visio. Of course this approach also required that Visio itself be installed on the same system as Understand. 

Some graphs also have an option to export to the graphviz .dot format. This option is only available to newer graphs that are generated using the graphviz engine in Understand. Some older graphs use a different layout engine so that option is not available for them.