Archived:Using the Large Address Aware Flag With TestStand Applications

Updated Feb 2, 2018

National Instruments does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.

Reported In

Software

  • TestStand

Issue Details

I would like to use the Large Address Aware (LAA) feature to have more available memory in my TestStand application. What are the implications of setting the Large Address Aware flag on TestStand applications?

Solution

When developing memory intensive TestStand applications, you may encounter memory limits due to the fact that 32-bit Windows applications can only utilize 2 GB of memory by default. To expand the amount of memory TestStand can utilize, you can configure TestStand to be large address aware to gain access to up to 3 GB of memory on a 32-bit Windows operating system, and up to 4 GB of memory on a 64-bit Windows operating system.

Configuring TestStand to be LAA
If you are using a 32-bit Windows operating system, you must configure Windows to support large address aware applications in order for these applications to access the additional memory. For information on how to configure Windows to be Large Address Aware, refer to the article Microsoft Developer Network: 4-Gigabyte Tuning. If you are using a 64-bit Windows operating system, no additional configuration is necessary.

You can check to see if the Large Address Aware flag is enabled for the Sequence Editor using Microsoft's dumpbin.exe tool, and change the flag using the editbin.exe tool. These tools are provided with Microsoft Visual Studio. 

To check the current state of the flag, complete the following steps:
  1. Navigate to Start » Programs » Microsoft Visual Studio »Visual Studio Tools » Developer Command Prompt.
  2. Type the following command into the command prompt: dumpbin /headers <TestStand>/bin/SeqEdit.exe
  3. In the output from the dumpbin command, look for the section titled FILE HEADER VALUES, look for a section titled <x> characteristics, where <x> is a number. Under this section, you will likely see statements such as Executable. If the Large Address Aware flag is enabled, you will see an entry titled Application can handle large (>2GB) addresses.

If the flag is not enabled, complete the following steps to enable it:

  1. Navigate to Start » Programs » Microsoft Visual Studio »Visual Studio Tools » Developer Command Prompt.
  2. Type the following command into the command prompt: editbin /largeaddressaware <TestStand>/bin/SeqEdit.exe
  3. If desired, use the steps above for checking the state of the flag to confirm that the change took effect.

If the flag is enabled and you would like to disable it, complete the following steps:

  1. Navigate to Start » Programs » Microsoft Visual Studio »Visual Studio Tools » Developer Command Prompt.
  2. Type the following command into the command prompt: editbin /largeaddressaware:NO <TestStand>/bin/SeqEdit.exe
  3. If desired, use the steps above for checking the state of the flag to confirm that the change took effect.
If you configure your TestStand application to be large application aware, all modules or components loaded in the TestStand process will also be large address aware.  

Testing LAA Support in third-party Components
If you are using any third-party components, you should confirm that these components support the LAA setting. You can test an application for compatibility with LAA by forcing it to use the large address memory space.  To do this, configure the following registry key:
 
LocationHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management\AllocationPreference
Key NameREG_DWORD
New Value0x100000


With this registry key configured, the memory gained from the LAA flag will be used first by the application, thus making it more likely that any incompatibilities will be encountered in your testing.

Known Issues for TestStand 2012 and earlier
It is important to note the following specifics about large address aware settings for the TestStand Sequence editor and user interface applications in TestStand 2012 and previous versions:
  • The TestStand Sequence Editor is not large address aware by default. 
  • Note: You should not apply the LAA setting to a TestStand application if you are using either Windows Vista or earlier or TestStand 4.2.1 or earlier due to a number of known issues, described later in this document.
  • TestStand User Interfaces built in LabVIEW 8.5 and later are large address aware by default. National Instruments recommends only calling VIs developed in LabVIEW 8.5 and later from these TestStand applications. Earlier Run-Time Engines are not supported.
  • TestStand User Interfaces built in LabWindows/CVI versions 8.1 and later are large address aware by default. National Instruments recommends installing the LabWindows/CVI 2009 or later Run-Time Engine on a system running a large address aware TestStand application. Earlier versions of the LabWindows/CVI Run-Time Engine are likely to work, but are not supported.
If you are using a version of the Sequence Editor or a user interface that is large address aware, and Windows is configured to support large address aware applications, the following known issues exist:
  • In TestStand 4.2.1 and earlier, the .NET adapter can intermittently assign Nothing to object reference variables returned from .NET modules. 
  • TestStand shutdown can hang when unloading the LabVIEW 7.1.1 and LabVIEW 8.2.1 Run-Time Engines. These Run-Time Engines are loaded into memory if TestStand calls a VI that uses one of these Run-Time Engines. 

Additionally, the following  minor usability issues exist as described in the table below. 

 

Issue DescriptionApplications AffectedOperating System
Clicking on a pane undocks and initiates a pane drag, and movement of pane does not follow the mouse.Sequence EditorWindows Vista
Navigation to sub menu of context menu closes context menuSequence EditorWindows Vista
Using the Ctrl+Z or Ctrl+Y shortcut keys can restore floating panes that you previously closedSequence EditorWindows Vista
Context menus for panes are sometimes empty or do not appearSequence EditorWindows Vista
Windows 7
Windows 8
Missing menu items in Context menu for Type button, located in Step Settings » Properties » GeneralSequence EditorWindows Vista
Windows 7
Windows 8
Tool tips are not displayed or are displayed in top left corner of the screen for some dialogsUser InterfacesWindows Vista
Missing menu items in Context menu for the Sequence File tabSequence EditorWindows Vista
Windows 7
Windows 8

Additional Information

TestStand 2013 and later versions, the Large Address Aware flag is enabled by default for the TestStand Sequence Editor and TestStand User Interfaces, as well as for any executables created with LabVIEW or LabWindows/CVI. These versions also include the TestStand Update Large Address Aware Flag Utility to enable or disable the Large Address Aware flag for other executable files.  National Instruments recommends using Windows 7 or later with large address aware functionality.

Consider creating a backup before modifying the registry. To make a backup, select File»Export in the Registry Editor. 

Testing has not been performed with Windows XP or earlier operating systems.

WAS THIS ARTICLE HELPFUL?

Not Helpful