Please enable JavaScript to view this site.

Memory Validator Help

The Diagnostic tab displays information collected by Memory Validator about the target program.


There are two subtabs. One for Diagnostic information and one for displaying any data captured from stdout and stderr.







Diagnostic information


When Memory Validator's stub is injected into the target program, it logs diagnostic information to the main window for inspection.


Examples of diagnostic data collected are below, and may be displayed with a message, although you may not see some of these if all is well:


Hooking information

Other information

Ordinal hook found

Hook C++ constructor / destructor

Function hook success or failure

Delay loaded function hooked

Possible hook found

Function already hooked

Hook at address

DLL load address

DbgHelp searching

Image source line

Unknown instruction found

Disassembly of troublesome code

Failed to find Release/Debug CRT heap

Symbol reader status


The locations of loaded DLLs are also displayed in the window for each LoadLibrary(), LoadLibraryEx() and FreeLibrary() in the target program.


note If for whatever reason, you don't want to collect diagnostic information, you can switch it off in the Advanced > Symbols Misc page of the settings dialog



Filtering diagnostic information


By default, all information is displayed, but you can filter the messages to show only one type:




All instructionStep the default

Information instructionStep operating system and environment information, etc

Hooks instructionStep hooking success and failure messages

DLLs instructionStep DLL related information

Symbols instructionStep symbol loading status messages

DbgHelp debug instructionStep messages from DbgHelp.dll about the DLL symbol search processes

Symbols and DbgHelp debug instructionStep both the previous two


note When identifying why symbols are not loading, you'll find it's much easier when showing only the DbgHelp debug information.



Stdout and Stderr




The Stdout tab displays any data collected from stdout and stderr. seeAlsoThe option to enable this data collection is specified on the launch dialog/wizard.


The above image shows some data collected from a  program that reverses the characters in each line passed to it.


Copy instructionStep copy all data from the display on to the clipboard. For large amounts of data this can be time consuming.


Clear instructionStep clear the display of any captured data.


Display Most Recent instructionStep the display will be scrolled to ensure the most recently captured data is displayed.



Environment Variables


Environment variables tab displays environment variables from Memory Validator, environment variables from the program under test and environment variable substitution errors.


Choose which data you wish to view using the combo box at the top left of the tab.


Memory Validator environment variables






Target application environment variables


If you launched the target application from Memory Validator the target application’s environment variables will be similar to those in Memory Validator, but with some additional env vars to control .Net profilers and and some other SVL_ prefixed env vars to communicate various data to Software Verify components that are loaded.


If you launched the target application as a standalone application, or service and used one of our APIs to connect to Memory Validator, the environment variables shown will reflect those in force at the time the application/service was started, and the account that application/service is running on.






Environment variable errors


The environment variable errors display shows the name of the environment variable that could not be found, the string containing the environment variable, a comment indicating where the string came from (in this example, the command line), and a timestamp.





Child Processes


Information about child processes, and the appropriate launch parameters passed to CreateProcess (and related functions) are displayed on this tab.




A context menu is provided to allow you to perform some actions with the launched application data.




Launch parent application and monitor this application... instructionStep the launch application dialog is displayed configured to launch the parent application and monitor this application


Launch application... instructionStep the launch application dialog is displayed configured to launch and monitor this application


Open directory... instructionStep Windows Explorer is launched to view the contents of the launch directory (the directory field is empty nothing will be shown)


Open application directory... instructionStep Windows Explorer is launched to view the directory that contains the application (if the application specification has no path nothing will be shown)