Performance Validator - Change History

Performance Validator x86 Change History

Performance Validator x86 Change History

Version 7.99, 17 April 2024
Version 7.99 includes the following functionality:

  • Bug fix for installer problem with automatic software updates failing to install licence keys. Once this update is installed future automatice software updates will work correctly.
  • Bug fix for crash caused by memory corruption if you select an executable after clicking Choose Exe... on the Hooked DLLs part of the settings dialog.
  • Bug fix for rarely seen deadlock during shutdown of application being monitored.
  • Bug fix for writing data in the wrong part of the registry.
  • Bug fix for .Net source code filters.
  • Bug fix for .Net Hooked DLLs filters.
  • Bug fix for .Net file extension filters.
  • Bug fix for .Net class and method filters.
  • Win32 API timing filtering improved to account for Hooked DLL filters.

Version 7.98, 20 March 2024
Version 7.98 includes the following functionality:

  • Improved auto-updating of fields with suggested values on Monitor IIS/ISAPI dialog.
  • Bug fix for Monitor IIS/ISAPI dialog to prevent message queue getting overload and unresponsive.
  • Bug fix for Monitor IIS ASP.Net dialog to prevent message queue getting overload and unresponsive.
  • Bug fix for Monitor WDS ASP.Net dialog to prevent message queue getting overload and unresponsive.
  • Updated ISAPI tutorial example.
  • Updated ASP.Net tutorial example.
  • Bug fix for phantom extra lines that ASP.Net may inject into a class definition.
  • Minor bug fixes and continued improvement of secure data handling.
  • Bug fix for DWARF symbol handling.
  • Support for Embarcadero Delphi 12.0.
  • Support for Embarcadero C++ Builder 12.0.

Version 7.97, 09 March 2024
Version 7.97 includes the following functionality:

  • This is a recommended software update.
  • Bug fix for data transfer not working if set to Automatic.
  • Bug fix for PDB file reading for PDB files created with Visual Studio 6.
  • Bug fix for MAP file handling.
  • Bug fix for launching VB6 applications.
  • Bug fix for memory mapped file handling with improved security access restrictions.
  • Minor bug fixes and continued improvement of secure data handling.
  • Bug fixes for C++ parser.

Version 7.96, 08 February 2024
Version 7.96 includes the following functionality:

  • Changes to security attributes/descriptors placed on files and pipes etc. We no longer use default settings (Everyone all access), but restrict access to Admin/System/Interactive Users and Deny Guest.
  • Improvements to security issues in various places in the codebase.
  • Updated the service related examples to be Unicode.
  • Improvements for launching ASP.Net, detection of attempting to view localhost with https which will lead to web browser complaints about a lack of security certificate.
  • Improvements to monitoring a service.
  • Improved handling of low memory conditions in string handling.
  • Bug fix for ASP.Net dialog to prevent failure to specify a URL to open.
  • New method for identifying services - we check the session id is zero.
  • Added permissions checks for Data Transfer settings prior to launching/injecting/waiting on any process. This prevents trying to monitor a process without being able to communicate with it.

Version 7.95, 01 February 2024
Version 7.95 includes the following functionality:

  • Software improvements due to static analysis with VisualLint and Gimpel PC-Lint.
  • Bug fix for potential crash with DWARF symbol processing.
  • Updated the profiler to only allocate from private Software Verify heaps and not the C runtime, leaving the C runtime undisturbed as much as possible (dbghelp, which we use to read PDB symbols uses the C runtime)>.
  • Bug fixes for PE file reader.
  • Memory leak fixes for PE file reader, found with Memory Validator.
  • Bug fix for C# parser failing to correctly handle an @"info" quoted string containing backslashes.
  • Bug fix for potential crash if NULL passed to Software Verify internal heap allocator.

Version 7.94, 13 December 2023
Version 7.94 includes the following functionality:

  • Improved hooking for SetUnhandledExceptionFilter() by monitoring KernelBase.dll as well as kernel32.dll and api-ms-win-core-*.dll.

Version 7.93, 11 December 2023
Version 7.93 includes the following functionality:

  • Bug fix for directory and filename concatenation when both '\' and '/' are used in the filename. This mainly affects users of C++ Builder x64, MingW, gcc, g++ and llvm.
  • Miscellaneous 4K screen graphics improvements.
  • Ability to invert filters reinstated for Functions, Relations and Hotspots.

Version 7.92, 04 December 2023
Version 7.92 includes the following functionality:

  • Bug fix for Subst Drives. Useful for when you copy a build off a build server onto a different drive letter but would like the filenames to continue to point to the correct place..
  • Bug fix for drawing tree controls on 4K displays. The release a couple of weeks ago worked for some DPI levels, but failed for higher levels. Now working correctly.

Version 7.91, 02 December 2023
Version 7.91 includes the following functionality:

  • Re-release 7.90 to fix the failure with the software release process for 7.90.
  • This is a recommended download.
  • Bug fixes for three crashes during shutdown (inside ExitProcess()) involving dbgHelp internals or CRT internals being incorrect.
  • All threading synchronization primitives moved to the svlSupport.dll library, rather than included in each library. This has had the useful side effect of improving callstacks.
  • At startup disk based data transfer files from any previous session are cleaned up. These are now done on their own thread, making for a faster startup for the case when a lot of files remain on disk if Coverage Validator was closed early by the user or a crash.

Version 7.90, 28 November 2023
Version 7.90 includes the following functionality:

  • This is a recommended download.
  • All threading synchronization primitives moved to the svlSupport.dll library, rather than included in each library. This has had the useful side effect of improving callstacks.
  • At startup disk based data transfer files from any previous session are cleaned up. These are now done on their own thread, making for a faster startup for the case when a lot of files remain on disk if Performance Validator was closed early by the user or a crash.
  • Bug fix for crash during shutdown of the target application. This crash was caused by a change to how the operating system behaves, causing an endless loop of recursing calls (about every 10th call would cause the recursion). This bug definitely affects Windows 11, and possibly affects Windows 10.
  • Bug fixes for three crashes during shutdown (inside ExitProcess()) involving dbgHelp internals or CRT internals being incorrect.

Version 7.89, 21 November 2023
Version 7.89 includes the following functionality:

  • Sessions are now destroyed on thier own thread. This means new Session creation is faster because any sessions requiring purging are pushed to their own thread for that - no waiting for the Session to be destroyed.
  • Added error report when DllMain() for some Software Verify DLLs can't be hooked. This error report may be useful in diagnosing problems during shutdown of the target application.
  • UX improvement - tree expand/collapse buttons are now easier to use because they are better sized on high DPI screens.

Version 7.88, 15 November 2023
Version 7.88 includes the following functionality:

  • Misc bug fixes.

Version 7.87, 07 November 2023
Version 7.87 includes the following functionality:

  • Change to how the filename for the document that holds the session is created. It used to be created in the AppData\Local\Temp hierarchy. It is now created in AppData\SoftwareVerify\Bug Validator and has a name that indicates the date and time it was created.
  • Change to Performance Validator service API. svlPVStub_writeToLogFileA() writes ANSI strings as Unicode strings (previously they were written as ANSI).
  • Change to Performance Validator service API. svlPVStub_writeToLogFileW() writes Unicode strings as Unicode strings (previously they were written ANSI).
  • Updated Native API documentation to improve readability and ease of use.
  • Updated NT Service API documentation to improve readability and ease of use.

Version 7.86, 19 October 2023
Version 7.86 includes the following functionality:

  • Added API function loadValidatorIntoApplication(); which can be used to start Performance Validator from your application. Useful when the GUI methods for monitoring an application can't work.
  • Added an example application to demonstrate loadValidatorIntoApplication();
  • Added documentation for the above.
  • Diagnostics:Child Processes tab now indicates number of child processes so that you can see there are child processes without needing to visit the tab.
  • Bug fixes for double free of registry handles in certain situations.
  • Data Transfer settings updated to include the ability to choose the data transport you want: Automatic, Disk, High Volume. The type of data transport influences which inter-process communication is method is used.
  • Type of inter-process communication method is recorded on the diagnostic tab.
  • Shared memory data transport settings updated to set the data throttling threshold based on the size of the page file, rather than a fixed constant.

Version 7.85, 06 October 2023
Version 7.85 includes the following functionality:

  • This is a recommended software update.
  • Bug fix for incorrectly display warning dialog on the launch dialog/wizard when trying to determine if Address Sanitizer is being used by the application being launched.
  • If you are working with 32 bit applications using 32 bit Performance Validator you should download this update.
  • Bug fix for potential deadlock when reading symbols. Found using Thread Validator.
  • Bug fix for incorrect search path for symbol reader helper program when profiling certain programs.

Version 7.84, 27 September 2023
Version 7.84 includes the following functionality:

  • Update to handle DLL function importing by API Set rather than DLL name.
  • This update fixes problems tracking child processes of some applications created with recent compilers that use API sets in the import address table rather than DLL names.
  • If you've had problems monitoring child processes you should try this update.

Version 7.83, 14 September 2023
Version 7.83 includes the following functionality:

  • Improvements to diagnostic log information for symbol server dbghelp.dll path and symsrv.dll failure to load.
  • Addition of predefined symbol servers to the symbol server definition dialog.

Version 7.82, 29 August 2023
Version 7.82 includes the following functionality:

  • Symbol server downloading symbols progress improvement for earlier symbol server symsrv.dll implementations (before VS 2008).
  • C++ parser improvement.

Version 7.81, 26 August 2023
Version 7.81 includes the following functionality:

  • Bug fix for .Net profiler to prevent stack buffer overflow when very long function names are encountered.
  • Bug fix for .Net profiler to prevent stack buffer overflow when very long class names (generic/template most likely) are encountered.

Version 7.80, 25 August 2023
Version 7.80 includes the following functionality:

  • Improved C/C++ parser.
  • Added extra error detection for symsrv.dll loading when using symbol servers.
  • Updated Symbol Lookup settings to better handle custom DbgHelp.dll settings and symbol servers.
  • Updated Symbol Server dialog to prevent incorrect settings for symsrv.dll.
  • Installer bug fix for Visual Studio 2022.
  • Bug fix for Event Log XML parser to handle a log file format change on Windows 11.
  • Bug fix for help file downloading.

Version 7.79, 14 August 2023
Version 7.79 includes the following functionality:

  • Performance optimization for instrumentation phase when filters are specified to exclude/include source files.
  • Built in filters to exclude compiler vendor source/header files updated to include C++ Builder.
  • Bug fix: Now possible to monitor native applications (as well as .Net application) launched by .Net processes (for example: Powershell).
  • Improved error messages to the user on the Launch Dialog/Wizard.

Version 7.78, 01 August 2023
Version 7.78 includes the following functionality:

  • If you use symbol servers you should download this version.
  • Bug fixes for downloading symbols from symbol server. Some symbols would not download correctly. This was traced to a call to LoadLibraryEx() with the wrong parameters, which for some DLLs would work, and for others would result in exceptions inside DbgHelp.dll.
  • Bug fixes for selecting the correct symbol download helper utility with the correct path and startup directory. There was a situation where this could get out of sync and then nothing worked. Now fixed.
  • Additional error states from symbol servers are now recorded on the diagnostic tab.
  • Bug fix for symbol session load preferences.
  • Reduced the amount of error information reported on the diagnostic to remove redundant/duplicate information.

Version 7.77, 27 July 2023
Version 7.77 includes the following functionality:

  • Minor changes to licence installation dialog to prevent user error.
  • Improvements to message dialogs displayed when licensing errors are found running Bug Validator.
  • Improvements to error messages on the Floating Licence/Educational Licence tab.
  • Updated svlUXTheme.

Version 7.76, 14 July 2023
Version 7.76 includes the following functionality:

  • Improved the speed at which a saved session loads.
  • .Net runtime and .Net framework detection improved - to prevent/ensure correct hooks are installed, depending on options chosen.

Version 7.75, 10 July 2023
Version 7.75 includes the following functionality:

  • Logging improved to include symbol servers.
  • When profiling x86 applications from x64 the wrong symsrv.dll was being loaded, resulting in a failure to download symbols.
  • Microsoft has changed the debug string format that is sent to the DbgHelp symbol debugging callback, breaking our detection of the failure above.
  • A failure to correctly identify a PDB file downloaded from a symbol server due to a case sensitivity mistake.
  • Bug fix for incorrect search for downloaded PDB.
  • Fixed incorrect report of missing line numbers for some PDBs downloaded from symbol servers.
  • Symbol Server Misc settings dialog updated to handle keeping/clean svlDbgHelpReader log files.
  • We now identify symbol servers that are offline/don't exist, as these result in timeouts leading to a lack of performance when fetching symbols.
  • Symbol server dialog updates to show symbol servers that are offline/don't exist.
  • Debug Information dialog updated to include information about symbol servers that are offline/don't exist.
  • Summary panel updated to include information about symbol servers that are offline/don't exist.
  • Handle forward slash in filepaths as well as backslash. Useful for MingW/gcc/g++.

Version 7.74, 06 June 2023
Version 7.74 includes the following functionality:

  • Bug fix for symbol path behaviour to prevent additional paths relating to symbol server cache directories being added to the symbol path.

Version 7.73, 05 June 2023
Version 7.73 includes the following functionality:

  • Miscellaneous software updates.
  • Minor performance improvement, don't try to fetch symbols for DLLs that are resource only.

Version 7.72, 23 May 2023
Version 7.72 includes the following functionality:

  • Improved detection of .Net execution engine for .Net and .Net Core.
  • Improvements to the Application to Monitor dll for .Net Core applications (framework dependent and self-contained).
  • Bug fix for monitoring child processes of .Net Core applications.
  • Bug fixes for monitor child process.
  • Bug fixes for example applications.
  • Bug fixes for fetching symbols from symbol servers.

Version 7.71, 21 May 2023
Version 7.71 includes the following functionality:

  • UX improvement: The behaviour of Performance Validator in admin mode more closely matches behaviour in non-admin mode.
  • Improvements to the .Net Core launch dialog.
  • Misc bug fixes.

Version 7.70, 11 May 2023
Version 7.70 includes the following functionality:

  • Improved Performance Validator DLL deployment for IIS/ISAPI.
  • Improved Performance Validator DLL deployment for IIS/ASP.Net.
  • Improved IIS/ISAPI/ASP.Net logging of instrumentation process.
  • Changed profiler DLL loading priority when loaded from the service API - looks in the same directory as the EXE (or DLL for IIS) and if it can't load the profiler DLL from there, will load the profiler DLL from the Valiadtor installation directory.
  • Bug fixes for disk based data transport used when shared memory is not available (in IIS and some services). Data races resulting in failing data transport fixed.
  • If you're working with IIS and/or services or the NT Service API this is a recommended download.

Version 7.69, 25 April 2023
Version 7.69 includes the following functionality:

  • Improved UX for data transfer settings dialog. Now checks directories have correct permissions for IIS and Validator, plus optional automatic setting of permissions and links to explanatory articles.
  • Improved UX for all dialogs that interact with IIS - will check that data transfer directories are correctly set up and if not, prompt to set them up.
  • UX Improvement for Web Development Server dialog. Automatic setting of web root permissions for User.
  • UX Improvement for Web Development Server dialog. Prompts to show how to set permissions manually if automatic settings fail.
  • Bug fixes and additional safety measures added to SVL Admin Service.
  • Bug fix for hang caused by attempt to display a dialog box to warn about something inside of IIS.

Version 7.68, 13 April 2023
Version 7.68 includes the following functionality:

  • IIS related dialogs now include Opera and Brave browsers with Chrome, Edge, Firefox and Internet Explorer (kept for users on legacy systems).
  • UX Improvement for IIS Monitor ISAPI dialog. Automatic setting of web root permissions for User and IIS_IUSRS.
  • UX Improvement for IIS Monitor ISAPI dialog. Prompts to show how to set permissions manually if automatic settings fail.
  • UX Improvement for IIS Monitor ASP.Net dialog. Automatic setting of web root permissions for User and IIS_IUSRS.
  • UX Improvement for IIS Monitor ASP.Net dialog. Prompts to show how to set permissions manually if automatic settings fail.
  • Bug fix for setting environment variables for monitoring .Net applications.
  • Misc bug fixes.

Version 7.67, 04 April 2023
Version 7.67 includes the following functionality:

  • UX Improvement for Wait For Process dialog - improved error handling for wait for service, with suggestions for the correct way to monitor a service.
  • UX Improvement for Wait For Process dialog - improved error handling for wait for service child process, with suggestions for the correct way to monitor a process running on a service account.
  • UX Improvement for Inject into Process dialog - improved error handling for failing to inject into a process running as admin.
  • Misc bug fixes.

Version 7.66, 17 March 2023
Version 7.66 includes the following functionality:

  • Bug fix for trying to read TDS debug information from a .bpl or .def file in an administrator mode directory.

Version 7.65, 10 March 2023
Version 7.65 includes the following functionality:

  • This is a recommended download if you use Delphi or C++ Builder.
  • Bug fix for TDS debug information reading - we can now identify additional functions compared to earlier versions.
  • Improved profiling results for Delphi (x86 and x64) and C++ Builder x86 applications.

Version 7.64, 09 March 2023
Version 7.64 includes the following functionality:

  • Bug fix for editing toolbar (cut and copy were swapped compared to the icons) in internal source code editor.
  • Bug fix for C++ parser.

Version 7.63, 17 February 2023
Version 7.63 includes the following functionality:

  • Improved handling of shutdown of application being monitored by the GUI.
  • Bug fix for file selection on settings dialog "File Locations".
  • Bug fix for identifying Visual Studio source code install location when searching for files from File Locations settings.
  • Installer bug fix.

Version 7.62, 07 February 2023
Version 7.62 includes the following functionality:

  • Update to detect Windows 11 operating system.
  • Maintenance release.

Version 7.61, 11 January 2023
Version 7.61 includes the following functionality:

  • Bug fix for Stub Global Hook detection.

Version 7.60, 13 December 2022
Version 7.60 includes the following functionality:

Version 7.59, 28 November 2022
Version 7.59 includes the following functionality:

  • Misc bug fixes.
  • Updated UX Theme.

Version 7.58, 27 October 2022
Version 7.58 includes the following functionality:

  • Floating licencing bug fix.
  • Added initial support for Rust programming languge.
  • Data entry bug fix - prevent informative error dialog displaying in wrong situation.
  • Simplified UX for the File Locations dialog, plus improved options for file searching.
  • Updated Help menu.
  • Miscellaneous bug fixes.
  • Updated documentation.

Version 7.57, 22 October 2022
Version 7.57 includes the following functionality:

  • Symbol fetching bug fix.
  • Updated Help menu.
  • Minor bug fixes.

Version 7.56, 03 October 2022
Version 7.56 includes the following functionality:

  • Bug fix for parsing XML event log data when it contained double quotes but parser was expecting single quotes.

Version 7.55, 13 September 2022
Version 7.55 includes the following functionality:

  • Bug fix for C++ parser.
  • Bug fix for DWARF symbol processing.
  • Bug fix for reseting .Net profiler environment variables - to stop the profiler accidentally starting when you run a .Net process outside of Performance Validator.

Version 7.54, 09 August 2022
Version 7.54 includes the following functionality:

  • Addition of new page to the First Run Wizard - build example projects.
  • Bug fix for Symbol Lookup settings.
  • Bug fix for service library.
  • Bug fix for failure to attach to a launched application when the user specifies the PATH environment variable on the launch dialog.
  • Addition of bad path colouring for PATH environment variable on the environment variables dialog (from launch dialogs/wizards).
  • Bug fix for path substitution.
  • Improved default IIS user name suggestion on IIS related dialogs.
  • Display behaviour change for end of session. You can now configure the condition (if any) that will result in a change of display at the end of a program.

Version 7.53, 20 July 2022
Version 7.53 includes the following functionality:

  • Updated licence key entry to be aware of multiple different whitespace equivalents for various languages.
  • Bug fix for floating licensing. If you are using floating licensing you want this bug fix.

Version 7.52, 08 July 2022
Version 7.52 includes the following functionality:

  • Reduction in CPU usage consumption for floating licence thread.
  • Improved end of session detection for data transport from target application.
  • Bug fix for crash with .Net/Native Mixed Mode applications when handling tail calls.
  • Bug fix for displayed for some .Net function names.
  • Minor UX improvements to Filter buttons to indicate the number of filters if any filters are present.
  • Hooked File Extensions addition of new option for Hook All, Only Hook and Don't Hook to make using these filters similar to other filters.
  • Source Files Filters addition of new option for Hook All to make using these filters similar to other filters.
  • Improved the accuracy of filtering - some filters now have narrower tolerances for matching a filter, allowing for more accurate filters to be used.
  • Bug fix for symbol fetching.

Version 7.51, 24 June 2022
Version 7.51 includes the following functionality:

  • Improvement to session timeout handling to catch those few applications that run as a service that need a timeout.
  • Bug fix for licence server global floating licences (development only, not available yet) reporting licences in use when licence has been released.
  • Refactored Floating licence GUI and Auto test GUI.

Version 7.50, 20 June 2022
Version 7.50 includes the following functionality:

  • Bug fix for testing if service (or application linked to a service) is linked to the NT Service API.
  • Static analysis bug fixes.
  • Improved how/why symbols get loaded to reduce the likelihood of symbols being loaded that are not needed. This can speed things up quite a bit if a symbol server has been configured.
  • Additional logging added to NT Service API.
  • New NT Service API call: svlPVStub_ShutdownPerformanceValidator()
  • Data race bug fixes for Floating Licence handling.
  • Addition of timeout to improve process-has-finished handling for the few applications that don't handle this well - usually processes running on a service account that don't allow their process handle to be opened.
  • Bug fix for missing installer dependency on vanilla machines with no installs.

Version 7.49, 06 June 2022
Version 7.49 includes the following functionality:

  • Bug fix for source code code scrolling drawing error on DPI scaled displays.
  • Updated installer to only ask about closing Visual Studio after the choice for installing Visual Studio menus has been made.

Version 7.48, 31 May 2022
Version 7.48 includes the following functionality:

  • Bug fix PDB symbol reader.
  • Additional microsoft include file filtering/
  • Various static analysis bug fixes.

Version 7.47, 23 May 2022
Version 7.47 includes the following functionality:

  • Bug fix for Hooked DLLs.
  • Bug fixes for licence server.
  • Bug fixes for incorrect test with FindFirstFile().
  • .Net profiler - fix for potential hang.
  • Bug fix for launch wizard/dialog, can no longer select hidden GUI by accident, will only hide GUI if target application is a console application.
  • Improvements to Callstack view.
  • Performance improvement (detected with Performance Validator).
  • Reliability improvement for memory mapped data transport when other end of the data comms dies unexpectedly.

Version 7.46, 26 April 2022
Version 7.46 includes the following functionality:

  • Static analysis bug fixes.
  • Misc bug fixes.
  • Support for licence server.
  • Improved Loaded Modules dialog. Additional columns to indicate native/managed/mixed-mode and Debug/Release dll status.

Version 7.45, 07 April 2022
Version 7.45 includes the following functionality:

  • Bug fix for mixed mode callstacks, previously unresolved .Net symbols are now correctly resolved.
  • Bug fix for toolbar launch icon enabled/disabled status.
  • Data transport improvement - reduced locking.
  • Improved registry access handling.
  • Bug fix PE file entry point type recognition. Incorrect classification of C++.Net applications as native now fixed.

Version 7.44, 30 March 2022
Version 7.44 includes the following functionality:

  • Addition of command line builder button to launch dialogs and launch wizard to allow you to easily generate a usable command line from a known working launch configuration.

Version 7.43, 27 March 2022
Version 7.43 includes the following functionality:

  • Addition of Command Line Builder to help you create command lines to invoke Performance Validator. See Launch menu.
  • Performance improvement for exporting sessions.
  • Bug fix for progress dialog. If has a NULL windows prevent it from causing all windows on screen from flickering if Invalidated.

Version 7.42, 22 February 2022
Version 7.42 includes the following functionality:

  • File paths specified inside the -fileLocations can have environment variables specified as part of the path. The env var is resolved when it is imported from the file.
  • File Locations user interface now reports how many file locations are specified.
  • Diagnostic environment variable display now displays Performance Validator env vars, target application env vars, and any errors substituting env vars in strings, allowing you to debug env var usage inside Performance Validator.
  • More information about using environment variables and how to debug them in this article: https://blog.softwareverify.com/using-and-debugging-environment-variables

Version 7.41, 08 February 2022
Version 7.41 includes the following functionality:

  • UX improvement. Removal of dialog asking about a symbol directory. We now check for the existence of this directory and add it to the PDB paths automatically.
  • Diagnostic tab. Addition of new categories "Symbol Errors" and "Symbol Success" allowing you to more easily identify symbol failure or symbol success messages.
  • Bug fix for positioning of Performance Validator at startup. It will now redisplay where it used to be shown, and if it can't (because of monitors changing size or position) it will work out a sensible place to display itself.

Version 7.40, 07 February 2022
Version 7.40 includes the following functionality:

  • Bug fix for reading debug symbols for DLL in directories that are write protected or require admin privileges to write files.
  • Bug fix for symbol reader helper utility programs.
  • Updated API and NT Service API related header files with extra information about which header files to use for which task.
  • Update API and NT Service API documentation.
  • Additional checks built into the start Validator from service code to check that the data transfer directory exists and is writeable.

Version 7.39, 28 January 2022
Version 7.39 includes the following functionality:

  • Additional work to clear .Net profiler env vars after a .Net process successfully attaches to the profiler.

Version 7.38, 25 January 2022
Version 7.38 includes the following functionality:

  • Diagnostic data improvements.
  • Improvements to PDB/TDS/MAP handling.

Version 7.37, 05 January 2022
Version 7.37 includes the following functionality:

  • File Locations settings updated to prevent non-directory locations from being added to the list of directories.
  • File Locations settings when loaded are checked to see if they reference files, and if so are converted to directory locations if possible.

Version 7.36, 29 December 2021
Version 7.36 includes the following functionality:

  • When checking symbols for presence of Address Sanitizer, handles additional error conditions.
  • UX improvement for Analysis tab.
  • Bug fix for Line Timing tab source file discovery.
  • Updated FORTRAN keyword colouring rules to include FORTRAN 2003, 2008.

Version 7.35, 24 December 2021
Version 7.35 includes the following functionality:

  • Additional checks for Address Sanitizer. Now checks the PE file exports and the symbols.
  • Bug fix for crash instrumenting Microsoft's strcpy.asm when multiple returns are allowed.
  • Addition of new automatic filters for statically linked files from VS 2019 & 2022.

Version 7.34, 23 December 2021
Version 7.34 includes the following functionality:

  • Improved invalidation of cached function hooking data when instrumentation settings are changed.
  • Added prevention of hooking Intel Fortran Runtime libraries.
  • Addition of incompatibility check for Address Sanitizer usage when launching an application.
  • Hook instrumentation - functions with multiple epilogues (returns) can now be hooked. A control for this (default: ON) is present in Hook Control settings.
  • Hotspot colouring has been simplified. A few colour ranges to choose from and one custom colour range.
  • Win32 API timing now has it's own settings area in the settings dialog.
  • Display filters updated to allow filtering of Win32 API functions.
  • Class and method filters updated to allow filtering of Win32 API functions.
  • Sampling functionality has been simplified.
  • Bug fix for potential crash (race condition) on diagnostic child process view.
  • Update to the svlPVStubService libraries, static /MD and static /MT versions (debug and release) are now available.
  • Maintenance release: Software Verify UX Theme moved into it's own library.

Version 7.33, 18 November 2021
Version 7.33 includes the following functionality:

  • This is a recommended download.
  • Support for Visual Studio 2022.
  • Updated Service API to have more detailed logging output. If you enable logging you'll also get the internal Software Verify logging data that will make understanding the service error codes so much easier.
  • Bug fix for .Net Core DLL detection, added DLL entry point type to make the specification stricter.
  • Addition of Env Vars diagnostic tab so that you can easily see what environment variables are set in the process you are monitoring (or the process you've just launched, intending to monitor a child process).
  • Addition of Child Processes diagnostic tab so that when you are trying to work out which child process to monitor, you can see which applications are launched by a given process.
  • Symbol Load Preferences now a main setting group on the settings dialog.
  • Symbol Load Preferences added to first run wizard.
  • Bug fix for incorrect hooking exclusion of svldwarf.dll and .Net Core runtime dlls.
  • UX improvement. When using the inject dialog/wizard on a 64 bit OS, it will indicate that 64 processes will not be shown by x86 Validator.
  • Bug fix for potential out of memory error when trying to edit using Visual Studio.
  • When a session starts Performance Validator will change the display to a predefined display. Default value is Statistics display. You can change this value from the settings dialog "Display Behaviour".
  • When a session finishes Performance Validator will change the display to a predefined display. Default value is no change of display. You can change this value from the settings dialog "Display Behaviour".

Version 7.32, 15 November 2021
Version 7.32 includes the following functionality:

  • This is a recommended download.
  • Launch dialog bug fix for specifying PATH substitution in launch environment variables. In some situations it would fail, now fixed.
  • Launch dialog environment variables now supports PATH substitution for another environment variable also specified at launch time. For example: PATH_DLLS=c:\dlls PATH=%PATH%;%PATH_DLLS%
  • Misc UX improvements for Symbol Lookup debug information child dialogs for MingW, Delphi, C++ Builder.
  • Addition of Symbol Load Preferences dialog to allow you to choose which debug information formats are relevant for your project. Setting these correctly can reduce the time spent looking for debug info by not looking for debug formats you don't use. Access this via Symbol Lookup.

Version 7.31, 08 November 2021
Version 7.31 includes the following functionality:

  • Added logging for various parts of the .Net profiler, so that we can trace QueryInterface() etc.
  • Session export now allows choice of UTF16 LE, UTF8, ASCII export. Default is UTF16 LE to keep compatibility with previous versions.
  • New command line arguments to allow you to specify the file encoding of exported files: -exportAsHTML_BOM -exportAsXML_BOM. Valid values are ASCII, UTF8, UTF16. See help for details.

Version 7.30, 01 November 2021
Version 7.30 includes the following functionality:

  • Various informational/warning dialogs that could potentially be displayed when the GUI is hidden (-hideUI command line argument), causing a hang, these dialogs will now not be displayed.

Version 7.29, 26 October 2021
Version 7.29 includes the following functionality:

  • Addition of .bat file extension to Launch dialog.
  • Command line: if -program specifies a batch file and you don't specify -programToMonitor the first application in the batch file will be selected as the program to monitor.
  • Bug fix for rare race condition that can result in the Validator failing to send/receive data during the run, or at shutdown.
  • Optimized the send all data test used at shutdown to decide if OK to shutdown when sending data from the target process, resulting in faster shutdowns.
  • This is a recommended download.

Version 7.28, 19 October 2021
Version 7.28 includes the following functionality:

  • Added command line argument -setenvironment envVarName=envVarValue for settings environment variables in Bug Validator from the command line.
    You can then reference these env vars using $ENV_VAR$ in subsequent arguments on the command line.
    For example: -setenvironment TEST_PATH=E:\dev\tests\sunscreen\ -program "$TEST_PATH$SunScreen-GoogleTest.exe"
  • Updated the default application to monitor settings to include testhost.exe.
    For existing installations, to update this, open the Launch Dialog/Wizard, click Edit... next to Application to Monitor, click Set Defaults, click OK.
  • UX improvement, prevent addition (or editing of existing entries) that result in more than one definition of an application to monitor for a specific application.
  • UX improvements to inject into service warning dialog.
  • Bug fixes for default application to monitor combo on the applicationToMonitor dialog.

Version 7.27, 14 October 2021
Version 7.27 includes the following functionality:

  • This is a RECOMMENDED download.
  • Bug fix for multithreading race conditions. Fixs some random hangs.
  • Improved debug information missing dialogs and related help documentation.
  • Improved some status messages.
  • Bug fix for missing DLL, and unsatisfied dependencies on Windows XP.
  • Bug fix for missing DLL dependency warning on Windows XP.
  • Modified installer shortcut criteria.

Version 7.26, 04 October 2021
Version 7.26 includes the following functionality:

  • DLL Dependency checker improvement.
  • Addition of Contact customer support to Help menu, and various other related contact improvements.

Version 7.25, 29 September 2021
Version 7.25 includes the following functionality:

  • Support for DWARF debug information format (C++ Builder x64, MingW, QtCreator).
  • Addition of support for logging errors in GUI.

Version 7.24, 24 August 2021
Version 7.24 includes the following functionality:

  • Additional security when downloading and installing software updates. Digital signature is checked to be present and contain the correct details.
  • Improved TDS symbol reading. Now resolves symbols in initialization segment correctly.
  • Performance improvement: when querying for version information will not trigger the DLL load/unload monitoring code.

Version 7.23, 20 August 2021
Version 7.23 includes the following functionality:

  • Bug fix for launch application wizard application to monitor combo box. The launch wizard now has the same behaviour as the launch dialog with respect to monitoring child processes.

Version 7.22, 12 August 2021
Version 7.22 includes the following functionality:

  • This is a recommended download.
  • Multi-threading data race bug fix.
  • DLL inspection bug fix for potential crash.
  • Bug fix for crash during shutdown.

Version 7.21, 28 July 2021
Version 7.21 includes the following functionality:

  • Performance improvement for instrumenting with MAP files.
  • Diagnostic information improvements.
  • Bug fix for incorrect data in MAP file line numbers for Delphi.
  • Bug fix for failing to load all TDS symbols due to a failure in the TDS symbol mangler causing an access violation. All symbols are loaded now.

Version 7.20, 20 July 2021
Version 7.20 includes the following functionality:

  • Bug fix for licence key installation for 32 bit Performance Validator when installing via manual install on x64 systems.
  • Bug fix for licence key installation for 32 bit Performance Validator when installing via automatic updates.

Version 7.19, 06 July 2021
Version 7.19 includes the following functionality:

  • Bug fix for registry reading bug. Only affects installs on machines that don't already have an install.

Version 7.18, 03 July 2021
Version 7.18 includes the following functionality:

  • Support for monitoring .Net Core applications launched from other applications (native, .Net and .Net Core). This change may break any previous settings you have for monitoring applications launched from other applications - we've done our best to keep monitoring native and .Net applications working as normal but in some circumstances you'll need to reconfigure the monitor an application settings. This is unfortunate but unavoidable to get this new behaviour.
  • Updated launch .Net Core dialog
  • New command line options: -programToMonitorEXE, -programToMonitorDLL, -waitNameEXE, -waitNameDLL
  • Removed Wait for Application wizard.
  • Updated Wait for Application dialog, now including options for specifying .Net Core applications (and dll).
  • Updated Inject into Application dialog and wizard.
  • Updated Application to Monitor dialogs.
  • Update documentation.

Version 7.17, 15 June 2021
Version 7.17 includes the following functionality:

  • Bug fix for monitoring process launched from another process.

Version 7.16, 07 June 2021
Version 7.16 includes the following functionality:

  • Bug fix for Statistics view - fixing blank lines.
  • New settings dialog layout for Performance, now split into Function timing and Line timing.
  • Win32 API function timing settings have moved from Hook Insertion to Line timing.
  • New Win32 API function timing options: None, All DLLs, non operating system DLLs, non Microsoft DLLs, DLLs with debug info (default), non Microsoft DLLs with debug info. This change allows you to choose how much Win32 API timing data you collect. The new default reduces the amount of Win32 API timing data to just the calls you directly make, excluding the indirect calls.
  • Bug fix for code exclusion.
  • Minor improvements to code parser.
  • Documented command line arguments -dotNetCoreArg, -dotNetCoreLaunchType.
  • Documented command line arguments -dotNetCoreArg, -dotNetCoreLaunchType and -win32API.

Version 7.15, 02 June 2021
Version 7.15 includes the following functionality:

  • This release improves the .Net Core support and adds a variety of simplifications to make launching applications easier.
  • Dedicated .Net Core launch dialog.
  • New Launch menu.
  • New Launch chooser.
  • New function key assignments for launching applications and services.
  • Bug fix for crash when profiling .Net applications (crash introduced in the previous release).

Version 7.14, 19 May 2021
Version 7.14 includes the following functionality:

  • Updated installer.
  • Misc bug fixes.
  • Updated handling for .Net profiler.
  • Basic support for .Net Core and portable PDB debugging file format.

Version 7.13, 21 April 2021
Version 7.13 includes the following functionality:

  • Improved C++ parser.

Version 7.12, 16 April 2021
Version 7.12 includes the following functionality:

  • Miscellaneous bug fixes and performance improvements.

Version 7.11, 08 April 2021
Version 7.11 includes the following functionality:

  • Bug fix for floating licensing error when empty licence data is acquired by the network.
  • Bug fix for GetProcAddress() hook when DLL that functions are acquired from are loaded, unloaded, loaded at a new address.
  • This is a recommended download.

Version 7.10, 07 April 2021
Version 7.10 includes the following functionality:

  • Fix for nativeExample installer missing source files.
  • Updated help file now correctly refers to the nativeExample, not pvExample.

Version 7.09, 31 March 2021
Version 7.09 includes the following functionality:

  • Bug fix for crash using Vector class. This is a recommended download.
  • Many multithreading speed tweaks. In some situations these will be beneficial.

Version 7.08, 10 March 2021
Version 7.08 includes the following functionality:

  • Compiled HTML Help (CHM) and PDF help files are now downloaded outside of the setup executable. This is an attempt to stop anti-virus detectors mistaking the setup file for virus/malware because the CHM has triggered a FALSE positive virus detection.
  • Bug fix for finding Program Files directory for non English language countries.
  • Addition of timing data for all Win32 functions - you can now see how long a given Win32 API call takes.
  • Improved Map File reading speed.

Version 7.07, 01 March 2021
Version 7.07 includes the following functionality:

  • Misc bug fixes.
  • Column highlighting is now handled by the UX Theme. Classic, modern and high contrast themes get different column highlighting.
  • Settings dialog now has Reset All and Reset buttons, allowing finer grained control over what gets reset than previously.
  • Improved error messages for when inject into running process fails and the target is running as admin but Performance Validator is not running as admin.
  • Wait for process no longer needs Performance Validator to run as admin.

Version 7.06, 08 February 2021
Version 7.06 includes the following functionality:

  • Some changes that will improve symbol handling. If you've had symbol handling errors recently these will help.
  • New error handling for DbgHelp, recognising "unmatched" PDBs as well as "mismatched" PDBs.
  • Additional error handling for svlDbgHelpSymbolReader.
  • Bug fixes for shutdown to prevent a possible access violation. The crash is rare, but can happen.

Version 7.05, 04 February 2021
Version 7.05 includes the following functionality:

  • New setting on Symbols Misc settings that allows additional debug information to be captured when svlDbgHelpSymbolReader.exe is used to read symbols.

Version 7.04, 29 January 2021
Version 7.04 includes the following functionality:

  • Bug fix for automatic software updater. If you've been having problems with the automatic software updater, after you install this version (which you'll have to install manually) those problems should go away.

Version 7.03, 05 January 2021
Version 7.03 includes the following functionality:

  • Updated profile bar UX theme behaviour.
  • Updated High Contrast theme colours.

Version 7.02, 28 December 2020
Version 7.02 includes the following functionality:

  • Bug fix for an error status that is sometimes uninitialised. Possibility of crash during hooking.
  • Toolhelp snapshot improvements.
  • Addition of UX theme selector on Settings menu. You can choose from Modern, Classic and High Contrast.

Version 7.01, 18 December 2020
Version 7.01 includes the following functionality:

  • Bug fix for Relations.

Version 7.00, 26 November 2020
Version 7.00 includes the following functionality:

  • Addition of support for .Net as well as native languages. Now you can profile Native, .Net and mixed mode programs.
  • New API - you don't need to link to the API any more, just include one source file and one header file.
  • New Software Verify UX Theme. Easier to use. Calmer to look at. New icons.
  • Updated documentation.

Version 6.00, 15 November 2020
Version 6.00 includes the following functionality:

  • Change for launch dialog and launch wizard behaviour when text scaling is at 175% and dialogs are too large for a 1920x1080 screen. Small dialogs/wizards will be displayed. This is to help visually impaired users (that requested this change).

Version 5.99, 12 November 2020
Version 5.99 includes the following functionality:

  • Bug fix for listing different versions of Visual Studio for the Editing settings - not all machines have this bug, seems to be to do with how Visual Studio is installed. This fixes works regardless of how VS is installed.

Version 5.98, 09 November 2020
Version 5.98 includes the following functionality:

  • Bug fix for environment variable merging on launch dialog.

Version 5.97, 26 October 2020
Version 5.97 includes the following functionality:

  • Exported files now exported in UTF-16 to support non-ansi character sets like Chinese and Korean.
  • Bug fix for symbol server PDB fetch failing sometimes.
  • Bug fix for PDB reading failing sometimes.
  • Bug fix for crash with long symbol names introduced with V5.96. Sorry!
  • Version 5.96, 20 October 2020
    Version 5.96 includes the following functionality:

    • Improvements for text and graphics displays on 4K screens.
    • Bug fix for filenames with non-ANSI characters in them (Chinese, Korean, etc).
    • Improved support for testing applications that are directly (or indirectly) linked to DbgHelp.dll

    Version 5.95, 05 October 2020
    Version 5.95 includes the following functionality:

    • Performance improvement for hooking functions and lines.
    • Bug fix for number of threads displayed on callstack view. Count now excludes any Software Verify threads.
    • Improved error handling dialogs for licence details dialog.
    • Misc improvements.

    Version 5.94, 30 September 2020
    Version 5.94 includes the following functionality:

    • Editing change - default editor is now "Automatic". It will try to open Visual Studio for editing. If that is not possible, it will use the built in editor.
    • Bug fix to for incorrect data insertion into an array. Recommended download.

    Version 5.93, 21 September 2020
    Version 5.93 includes the following functionality:

    • Performance improvement for tree controls.
    • Additional information on diagnostic tab: process id, process account SID, process account user and domain
    • Hooking child processes has been improved - now also monitors launches CreateProcessAsUser(), CreateProcessWithLogonW(), CreateProcessWithTokenW().

    Version 5.92, 18 September 2020
    Version 5.92 includes the following functionality:

    • Bug fix for svlApplicationToMonitor hooking it's dependent DLLs (it should not do this).
    • Bug fix for svlApplicationToMonitor preserving a command line in some circumstances.
    • Bug fix for svlApplicationToMonitor uninitialised reserved pointer.
    • Bug fix for and improved algorithm for detecting Software Verify DLLs
    • Bug fix for attaching to any child process when child processes include both native and .Net processes.
    • This is a recommended download.

    Version 5.91, 01 September 2020
    Version 5.91 includes the following functionality:

    • Additional user permissions tests for Everyone group on ISAPI related dialogs.
    • UX improvements on ISAPI related dialogs.

    Version 5.90, 14 August 2020
    Version 5.90 includes the following functionality:

    • Bug fix for grid rendering. Fixes a rare crash.
    • Many minor UX improvements.
    • Bug fix for svlDbgHelpSymbolReader.exe not found in certain circumstances.

    Version 5.89, 19 June 2020
    Version 5.89 includes the following functionality:

    • Source code displayed in trees is now displayed in monospaced font with highlighting.
    • Modified Hooked Source Files to disallow/allow recursing into child directories.

    Version 5.88, 08 June 2020
    Version 5.88 includes the following functionality:

    • Data on trees controls is now colour coded depending on the data. This makes the tree control easier to read.

    Version 5.87, 20 May 2020
    Version 5.87 includes the following functionality:

    • Update to CoInitialize() and CoInitializeEx() warning handling based on behaviour seen in one complex customer application.
    • Bug fix for ExitProcess() hooking and unhooking.
    • Bug fix for delay loaded DLL hooking when delay load signature is not recognised.
    • Bug fix for shared memory reader shutdown.

    Version 5.86, 13 May 2020
    Version 5.86 includes the following functionality:

    • Changed software architecture so that our monitoring code only uses one Thread Local Storage slot, leaving the all the others available to the target application. Previously used 10 slots.
    • Bug fix for memory leak in Microsoft's CPngImage class. Replaced class with our implementation. We found this leak with C++ Memory Validator.
    • Bug fix for setting environment vars via the command line, and also for %PATH% substitution in those environment variables.
    • Documented the command line argument -environment var=value which you can use to set an environment variable for the program to be started. You can use this argument multiple times on a command line.
    • Monitor a service dialog now checks the specified service is linked with the NT Service API.
    • IIS ISAPI dialog now checks the specified ISAPI DLL is linked with the NT Service API.
    • Bug fix for monitor ISAPI dialog and Web Development Server dialog.
    • Option to close IIS/WDS when web browser closed added to monitor ISAPI dialog.
    • Command files now support environment value expansion for any arguments to a command line value. For example -program %PROGRAM%

    Version 5.85, 05 May 2020
    Version 5.85 includes the following functionality:

    • Fixed bug to do with failure to record non-ISAPI data after working with ISAPI extensions.
    • Addied CoInitializeEx() thread changed mode warning and ability to set appropriate defaults to prevent this happening.
    • This is a recommended download.

    Version 5.84, 22 April 2020
    Version 5.84 includes the following functionality:

    • Maintenance release. Previous version didn't get staged properly on website due to a version issue.

    Version 5.83, 19 April 2020
    Version 5.83 includes the following functionality:

    • Support for IIS and ISAPI extensions. A new submenu IIS added to the Launch menu.

    Version 5.82, 28 March 2020
    Version 5.82 includes the following functionality:

    • Changed data transport to a new shared memory data transport. Much faster.
    • Added a check at startup to check for paths that don't exist in the settings data so that you can fix them.
    • Bug fix for very slow undecorating of symbols when they are long (templated functions, etc). In bad cases this was so slow it looked like the data transport had stopped working.
    • This is a recommended download.

    Version 5.81, 20 March 2020
    Version 5.81 includes the following functionality:

    • Bug fix for data race in data transport from target to GUI. In some circumstances the data transport may not start. Fixed.
    • Bug fix for crash inside Toolhelp32 dll when getting list of DLLs. This is a very rare crash. Only seen once. Fixed.
    • Misc static analysis bug fixes.
    • This is a recommended download.

    Version 5.80, 10 March 2020
    Version 5.80 includes the following functionality:

    • Bug fix for Application to Monitor when handling a quoted application name in a command line passed to CreateProcess()
    • Bug fix for Application to Monitor when handling a target path that has relative paths in it c:\dir1\dir2\..\dir3\test.exe
    • Automatic scaling of toolbar and menu icons on high DPI screens - easier to use. These icons aren't perfect, but they will do until we release the designed set of high DPI icons.
    • Some UX improvements relating to Symbol Servers and missing symbol server directory paths.

    Version 5.79, 02 March 2020
    Version 5.79 includes the following functionality:

    • Support for Delphi 10.3.
    • Misc bug fixes.

    Version 5.78, 07 February 2020
    Version 5.78 includes the following functionality:

    • Bug fix for DLL inspection component (fixes a crash in rare circumstances).

    Version 5.77, 27 January 2020
    Version 5.77 includes the following functionality:

    • Cached function timing performance improvement (46% faster than previous cached function hooking performance).
    • Cached function timing now enabled by default. See Hook Safety settings to turn on/off.
    • Cached line timing now enabled by default. See Hook Safety settings to turn on/off.
    • Improvement error detection reporting when working with services.
    • Misc bug fixes and UX improvements.
    • Bug fixes for when working with services and running the GUI as admin at the same time.

    Version 5.76, 20 January 2020
    Version 5.76 includes the following functionality:

    • Bug fix: All calls to Turbo Debugger Symbols library are now thread safe. If you use C++ Builder and/or Delphi then you should download this software update.
    • Performance improvement when accessing files.

    Version 5.75, 02 January 2020
    Version 5.75 includes the following functionality:

    • Maintenance release. Misc bug fixes and UI/UX tweaks.

    Version 5.74, 03 December 2019
    Version 5.74 includes the following functionality:

    • Bug fix for multi-threading. Ensuring threads are notified to end when they should be.
    • Functionality change: Services will no longer try to start C++ Performance Validator from the service. To work with services start with C++ Performance Validator user interface already open.

    Version 5.73, 25 November 2019
    Version 5.73 includes the following functionality:

    • Launch service dialog will not allow you to specify a service that's on a shared network drive because Windows won't start a service on a shared network drive.
    • Bug fix for launch dialog when launching a service as an application.
    • Bug fix for symbol server definition dialog.
    • Bug fix for working with service from shared network drives.

    Version 5.72, 20 November 2019
    Version 5.72 includes the following functionality:

    • Bug fix for debug logging when caching is disabled.

    Version 5.71, 16 October 2019
    Version 5.71 includes the following functionality:

    • Update to PEDLL helper library to detect DLLs linked to VB6.
    • Change to symbol handler to report extra information when things go wrong.
    • Improved error messages for mismatched PDB handling on Debug Information dialog.
    • Bug fix for C++ parser.

    Version 5.70, 09 October 2019
    Version 5.70 includes the following functionality:

    • Maintenance release #2

    Version 5.69, 04 October 2019
    Version 5.69 includes the following functionality:

    • Maintenance release - fix API link issues in previous release.

    Version 5.68, 02 October 2019
    Version 5.68 includes the following functionality:

    • Bug fix for reading a minority of PE files.
    • Miscellaneous bug fixes.

    Version 5.67, 02 September 2019
    Version 5.67 includes the following functionality:

    • Improved symbol reporting when in sampling mode.
    • Bug fix for potential deadlock during shutdown (due to abandoned critical section caused by thread race).

    Version 5.66, 30 August 2019
    Version 5.66 includes the following functionality:

    • Bug fix for debug info reporting for DLLs found in the Windows\assembly\NativeImages_v* directory.

    Version 5.65, 20 August 2019
    Version 5.65 includes the following functionality:

    • Service description added to inject dialog listing that shows svchost.exe process.
    • Bug fix for help file locating.

    Version 5.64, 30 July 2019
    Version 5.64 includes the following functionality:

    • Bug fix for handling of the case where the source file exists, just not on the path indicated by debug info.
    • Better handling (better UX) of the case where the source file exists, just not on the path indicated by debug info.
    • Change of code to remove potential deadlock during shutdown phase of application being monitored.
    • Launch dialog/wizard and Wait dialog/wizard indicate when file paths are invalid.

    Version 5.63, 20th July 2019
    Version 5.63 includes the following functionality:

    • Addiition of option to query Symbol Path Truncation data from Tools menu.
    • Launching applications, injecting into applications, waiting for applications, working with services and abandoning applications all moved onto their own Launch menu.
    • Improvement to source code file location detection, removal of some redundant steps.
    • Support for SetThreadDescription and GetThreadDescription thread naming APIs introduced with Windows 10.
    • Bug fixes for using undocumented Windows internals to get data about threads.

    Version 5.62, 11th July 2019
    Version 5.62 includes the following functionality:

    • Launching from batch file now lets you monitor any application launched from the batch file, not just the first application. Launch counts greater than 1 are also supported.
    • Bug fix for monitoring applications launched from batch files.
    • Diagnostic warning when search path is too long - paths that are too long cause Microsoft's DbgHelp.dll to crash.
    • Bug fix, remove duplicate local symbol store directory from symbol path.
    • Performance improvement for reading symbols of exe/dlls in write protected directories.
    • Misc bug fixes.

    Version 5.61, 19th June 2019
    Version 5.61 includes the following functionality:

    • Diagnostic tab now has two subtabs. One for diagnostic data. The other to display the output of stdout/stderr if you've opted to collect this data.
    • Bug fix for C++ Parser.
    • Bug fix for ordinal handling.

    Version 5.60, 4th June 2019
    Version 5.60 includes the following functionality:

    • First run wizard will now take paths and symbol server settings from the selected Visual Studio's Debugging > Symbols section to populate Bug Validator's settings.
    • Thread names are now taken from both CreateThread(), _beginthreadex() and _beginthread(). All threads now have human readable names as well as thread ids.
    • Bug fix for Visual Studio discovery.
    • Bug fix for ordinal -> name conversion (affects MFC libraries if symbol handlers not enabled).

    Version 5.59, 23rd May 2019
    Version 5.59 includes the following functionality:

    • Launch dialog and launch wizard now support the provision of an optional input file and an optional output file (to simulate piping data in/out from a file on the command prompt).

    Version 5.58, 5th May 2019
    Version 5.58 includes the following functionality:

    • Mitigation for trying to access file on a not-present removable drive - if debug info points to a location on a removable drive that isn't present, OS file access times jump 250x - we've added code to detect this on critical paths and fail without trying to access the file. Prevent seemingly random unexpected slowdowns.
    • Minor bug fixes to do with Visual Studio 2017/2019 detection.

    Version 5.57, 29th April 2019
    Version 5.57 includes the following functionality:

    • Support for Visual Studio 2019.
    • Addition of informational dialogs on the Call Graph and Call Tree views to explain why no data might have been displayed.
    • Bug fixes for C++ Parser.

    Version 5.56, 13th April 2019
    Version 5.56 includes the following functionality:

    • Improvements to how a DLL is determined to be a Microsoft DLL. Additional checks.
    • Improvements to service callback example.
    • Updated help return codes documentation.

    Version 5.55, 3rd April 2019
    Version 5.55 includes the following functionality:

    • Bug fix for race condition in some cached data stores. Quite rare for you to see this bug (we've seen it once in 17 years).

    Version 5.54, 30th March 2019
    Version 5.54 includes the following functionality:

    • Performance improvements to various parts of instrumentation.
    • Bug fix for global hook detector crash with sysfer.dll (McAfee anti-virus) during shutdown when run with -hideUI option.

    Version 5.53, 21st March 2019
    Version 5.53 includes the following functionality:

    • Addition of dbgcore.dll to the list of known Microsoft debugging DLLs - stops incorrect warning about missing PDB file.
    • Settings for call tree threshold and call graph threshold.

    Version 5.52, 9th March 2019
    Version 5.52 includes the following functionality:

    • Modified settings behaviour to reduce dbgHelp.dll loadability testing.

    Version 5.51, 4th March 2019
    Version 5.51 includes the following functionality:

    • Changed installer to not require administrator rights.

    Version 5.50, 1st March 2019
    Version 5.50 includes the following functionality:

    • Bug fix to UI Global Hook Defeat mechanism. Stopped notification of DLLs with no Company Name.
    • UX Fix. Combo boxes in grids will no longer forcibly realign the cell if just the cell border is not visible. Sounds like a small thing, but really improves usability.
    • Addition to Service API svlPVStub_SetServiceCallbackThreshold(DWORD threshold); Threshold sets the number of seconds between calls to service callback threshold. 0..15. Default is 1.
    • Performance improvement for stack walking.
    • Visual Studio discovery performance improvement.

    Version 5.49, 22nd February 2019
    Version 5.49 includes the following functionality:

    • Improvement for working with services - service control handler callback is called more often to inform the service control handler that code is still running and has not hung.
    • Minor improvement for string handling, small performance improvement.
    • Bug fix for potential buffer overflow with TDS symbol processing.
    • Bug fix for potential buffer overflow with PDB symbol processing.

    Version 5.48, 16th February 2019
    Version 5.48 includes the following functionality:

    • Bug fix for C++ parser.
    • Bug fix for stack buffer overrun.
    • Bug fix for COFF symbol reading that could cause a crash (depending on the COFF data).

    Version 5.47, 2nd February 2019
    Version 5.47 includes the following functionality:

    • Bug fixes from static analysis.

    Version 5.46, 27th January 2019
    Version 5.46 includes the following functionality:

    • Bug fix for sorting on the Statistics tab.
    • .
    • Callstack View: Thread names automatically assigned to threads if not supplied by code.
    • UX: Moved auto update controls from Statistics view onto a separate dialog.
    • UX: Moved auto update controls from Callstack view onto a separate dialog.
    • Minor performance improvements.

    Version 5.45, 17th January 2019
    Version 5.45 includes the following functionality:

    • 80% performance improvement in our source code parser. Less CPU, less memory usage.

    Version 5.44, 8th January 2019
    Version 5.44 includes the following functionality:

    • Maintenance release.

    Version 5.43, 18th December 2018
    Version 5.43 includes the following functionality:

    • Bug fix for unwanted tracing data.

    Version 5.42, 7th December 2018
    Version 5.42 includes the following functionality:

    • Bug fix for session has ended and finished processnig data detection - our previous method didn't account for processes ending unexpectedly.
    • Minor UX changes.

    Version 5.41, 29th November 2018
    Version 5.41 includes the following functionality:

    • Minor changes to text.
    • Maintenance changes to various UI controls to improve functionality.

    Version 5.40, 14th November 2018
    Version 5.40 includes the following functionality:

    • Bug fix for installing and running on Windows XP, Windows Vista, Windows 7 and server equivalent versions.
    • UX change to supported Visual Studio versions selector. Now checks if the particular DbgHelp.dll is deployable on this OS and does not list it if it won't load on this OS. Useful for the most recent DbgHelp.dll that only runs on Windows 8 and Windows 10.

    Version 5.39, 6th November 2018
    Version 5.39 includes the following functionality:

    • Bug fix for monitoring child processes.
    • Symbol search path displayed on Diagnostics tab.

    Version 5.38, 31st October 2018
    Version 5.38 includes the following functionality:

    • Bug fix for overly optimized symbol path caching which broke symbol loading in some cases. This is a recommended download.
    • Bug fix for enumerating processes.
    • When launching processes with a native (unmanaged) entry point we now pass the Validator GUI process id directly as an argument. This allows multiple fast launches by different Validators to work without any potential interference from other Validators.

    Version 5.37, 18th October 2018
    Version 5.37 includes the following functionality:

    • Updated return code values. The values were off by one. This will not affect most users unless you are relying on the return codes when running from the command line.

    Version 5.36, 5th October 2018
    Version 5.36 includes the following functionality:

    • Bug fix to data transport. There was a race condition that meant that some sessions didn't record data.

    Version 5.35, 2nd October 2018
    Version 5.35 includes the following functionality:

    • Bug fix for automatic software updates. If you cancelled an in-progress automatic software update, the licence keys could get broken. Now fixed.
    • Bug fix possible for stack overflow that can occur when Compatibility mode is enabled to run a program that you a profiling. If you aren't using compatibility mode for your application you probably don't need this bug fix.

    Version 5.34, 28th September 2018
    Version 5.34 includes the following functionality:

    • Bug fix for deadlock that can occur if a symbol server is specified in an environment variable (for example _NT_SYMBOL_PATH) rather than via the settings dialog.

    Version 5.33, 22nd September 2018
    Version 5.33 includes the following functionality:

    • Bug fix for Visual Studio editor failing to open first time.
    • Error reporting on diagnostic tab for any errors with Visual Studio editor.
    • Updated ordinal mapping for Visual Studio 2017.
    • Updated example project solution and project files to support VS 2012, 2013, 2015, 2017.
    • Addition of symbol server download progress notification on the Performance Validator title bar.

    Version 5.32, 4th September 2018
    Version 5.32 includes the following functionality:

    • Bug fix for when Named Pipes are used for communicating when shared memory is not available - prevents the "flickering lockup" caused by too many erroneous "new session" messages. A rare bug to see, but game over if you do see it
    • Bug fix for dll extension parsing.
    • Bug fix for GDI handle leaks caught with the new SelectObject detector in C++ Memory Validator V7.38

    Version 5.31, 16th August 2018
    Version 5.31 includes the following functionality:

    • Misc bug fixes. Addition of range checking on some data conversion functions. Static analysis fixes.

    Version 5.30, 10th August 2018
    Version 5.30 includes the following functionality:

    • UX improvement, disabling controls related to "Application to Monitor" when user launches a batch file. This will prevent incorrect settings from being incorrectly set when profiling an application launche from a batch file.
    • Bug fix for fetching Delphi / C++ Builder line number information. Previous implementation could occasionally have bogus line numbers at a random address.

    Version 5.29, 24th July 2018
    Version 5.29 includes the following functionality:

    • UX changes - cleaning up the user interface.
    • If we detect you're trying to launch a service as an application we inform you about NT Service API and provide options for launching as application or restart as admin so can launch as application in admin mode.

    Version 5.28, 18th July 2018
    Version 5.28 includes the following functionality:

    • Bug fix for potential crash due to race condition during application shutdown.
    • Bug fix for editing with Visual Studio

    Version 5.27, 12th July 2018
    Version 5.27 includes the following functionality:

    • Fixed a few more broken help topics.

    Version 5.26, 2nd July 2018
    Version 5.26 includes the following functionality:

    • Modified all dialogs to make Help easier to find.
    • Fixed many broken help topics. F1 or clicking on the ? at the top of a dialog will take you to the appropriate help.

    Version 5.25, 7th June 2018
    Version 5.25 includes the following functionality:

    • Bug fix for install on Windows XP, Windows Vista.

    Version 5.24, 6th June 2018
    Version 5.24 includes the following functionality:

    • Bug fix to NT Service API
    • PATH corruption bug fixes - rare to encounter this bug, requires a very specific set of circumstances
    • When specifying environment variables on the launch dialog/wizard can use %PATH% to refer to previous version of PATH, allowing you to update the path.
      • For example: %PATH%;e:\myPath\debug
      • For example: e:\myPath\debug;%PATH%
      • For example: e:\myPath\debug;%PATH%;e:\anotherPath\debug;

    Version 5.23, 26th May 2018
    Version 5.23 includes the following functionality:

    • UX improvement for "DLL Dependency Warning" dialog.

    Version 5.22, 18th May 2018
    Version 5.22 includes the following functionality:

    • Minor performance improvements. Maintenance release.

    Version 5.21, 11th May 2018
    Version 5.21 includes the following functionality:

    • Addition of menus to Visual Studio for 2017, 2015, 2013, 2012, 2010.
    • Bug fixes from static analysis.
    • Bug fix for reading Embarcadero/Borland line numbers.

    Version 5.20, 17th April 2018
    Version 5.20 includes the following functionality:

    • Bug fix for launch dialog / wizard.
    • Bug fix for File Locations settings (no duplicates allowed) on Settings dialog
    • Improvements to how symbols are searched for and loaded. Faster processing per module (DLL/EXE) as a result.

    Version 5.19, 11th April 2018
    Version 5.19 includes the following functionality:

    • Bug fix for V5.18 when installing on Windows XP/ Windows XP x64. If you're not working with Windows XP, you can skip this update..

    Version 5.18, 6th April 2018
    Version 5.18 includes the following functionality:

    • Tool settings are now stored in the HKCU\Software\SoftwareVerify hierarchy (moved from SoftwareVerification). This is a recommended download.
    • Bug fix for resolving STABS symbols.
    • Bug fix for resolving COFF symbols.
    • Updated DbgHelp handling to recognise when a VS2015/VS2017 partial PDB file is found. A partial PDB is created by default for /DEBUG builds with VS2015 and VS2017.
    • Bug fix for dependency checking for VC runtime files and MFC files not listed in a manifest.
    • File extensions updated to recognise Fortran 90 files (.f90)

    Version 5.17, 16th March 2018
    Version 5.17 includes the following functionality:

    • Addition of exe dependency logging.
    • Bug fix for environment variable corruption. This is a recommended download.

    Version 5.16, 9th March 2018
    Version 5.16 includes the following functionality:

    • Improved handling for installation of BorDebug.dll for processing 32 bit C++ Builder / Delphi applications.
    • Bug fix for instrumentation.

    Version 5.15, 7th March 2018
    Version 5.15 includes the following functionality:

    • Bug fix for handling LoadLibrary(Ex)/FreeLibrary(), could possibly result in repeated work when hooking.

    Version 5.14, 27th February 2018
    Version 5.14 includes the following functionality:

    • Addition of logging for debugging worker thread functionality. Not customer accessible.
    • Bug fix for when a native (unmanaged) application loads a .Net (managed) DLL. Prevents duplicate worker threads being created, prevents warning dialogs being displayed because of busy pipes.

    Version 5.13, 22nd February 2018
    Version 5.13 includes the following functionality:

    • Change to how message routing is handling (from target application to GUI) to make work when SW_SHOWMINNOACTIVE is used by a a program to launch C++ Performance Validator.
    • Changes to reduce any flicker when Validator is started with the command line argument -hideUI.

    Version 5.12, 16th February 2018
    Version 5.12 includes the following functionality:

    • Updated DLLs found in System 32 dialog with a choice of actions for how to treat the DLLs.
    • Renamed Configure menu to Settings.
    • Added option to re-run the Startup Settings Wizard to the Settings menu.
    • Added User Interface Mode setup to the Startup Settings Wizard.

    Version 5.11, 3rd February 2018
    Version 5.11 includes the following functionality:

    • New release that does not store any Software Verify DLLs in Windows system directories. This should reduce the likelihood that our software tools are mistaken for viruses/trojans.
    • Updated NT Service API and related documentation.

    Version 5.10, 10th January 2018
    Version 5.10 includes the following functionality:

    • Bug fix for C/C++ source code parsing.
    • Bug fix for dependency checking.

    Version 5.09, 6th January 2018
    Version 5.09 includes the following functionality:

    • Display bug fixes for High DPI (4K plus) screens.

    Version 5.08, 28th December 2017
    Version 5.08 includes the following functionality:

    • Bug fix for potential crash during shutdown.
    • Bug fix for memory leak.
    • Performance improvement.

    Version 5.07, 22nd December 2017
    Version 5.07 includes the following functionality:

    • Bug fix: Anonymous namespaces containing code will be instrumented. Previously they were ignored.

    Version 5.06
    Version 5.06 includes the following functionality:

    • Update to line timing display. Messages regarding "no data" explain in more detail the reason there is no data.
    • Bug fix for data races with recorded data.

    Version 5.05, 24th November 2017
    Version 5.05 includes the following functionality:

    • Bug fix for potential (very rare) crash when trying to inject into another process (or wait for application).

    Version 5.04, 21st November 2017
    Version 5.04 includes the following functionality:

    • Performance improvement for MAP file reading.
    • Bug fix for sampling display when debug information is not Microsoft PDB.
    • Insrumentation change from PDB when no MAP to Debug Information when No Map.
    • Insrumentation change from MAP when no PDB to MAP when no Debug Information.

    Version 5.03, 8th November 2017
    Version 5.03 includes the following functionality:

    • Multi-threading bug fix for process monitor.

    Version 5.02, 28th October 2017
    Version 5.02 includes the following functionality:

    • New UI for the callstack display. Data is displayed in columns for easier reading of the display.
    • Bug fix for global hook DLL detection.

    Version 5.01, 25th October 2017
    Version 5.01 includes the following functionality:

    • Change to the options controlling when debug information is missing dialogs are show to you. You now have more control over when this happens.
    • Bug fix for PE format inspection DLL to prevent crashes when inspecting a DLL with an unusual data layout.
    • Improvements to STABS debug information handling.
    • Improvements to COFF debug information handling.
    • Performance improvement for hooking when working with STABS and COFF debug information formats.
    • Completely re-implemented hooking procedure for hooking lines. Lines in a function are now hooked at the same time as the function is hooked. This is faster and more robust.
    • Hooking of functions using cached instrumentation data has been reworked. The performance improvement for this is enormous. If you enabled caching of instrumentation data, subseqeuent runs with the same binary will hook much faster. Caching can be control from the "Hook Safety" part of the settings dialog.

    Version 5.00, 21st September 2017
    Version 5.00 includes the following functionality:

    • Improved error messages for software installer in the unlikely event the software updater fails for some reason.
    • Changed filter manager dialog to improve understanding, UX.
    • Fixed bug relating to STABS function names with parameters.
    • Fixed class::method filtering bug.
    • Improved instrumentation using STABS debug data - process less data, therefore faster.
    • Bug fix for STABS symbol demangling
    • Updated diagnostic messages.

    Version 4.99, 11th August 2017
    Version 4.99 includes the following functionality:

    • Additional warning about /DEBUG:FASTLINK built executables at start of run (after hooking) rather than at end of run.

    Version 4.98, 3rd August 2017
    Version 4.98 includes the following functionality:

    • Support for Visual Studio 2017. Previous versions had implicit support for VS 2017, now we provide explicit support for VS 2017.
    • Bug fix for DLL not found message to handle the case where the DLL is on the PATH being set by the environement variable set from the launch dialog.
    • Bug fix for trying to launch NameWithA Space.exe launching NameWithA.exe instead. Both .exes need to be in same dir to see this bug.

    Version 4.97, 16th June 2017
    Version 4.97 includes the following functionality:

    • Performance improvement during launching. Replaced brute force assembly check with correct checking of manifest contents and WinSxS assemblies. This is faster and more reliable than previous implementation (which on some machines was very slow).

    Version 4.96, 13th June 2017
    Version 4.96 includes the following functionality:

    • Bug fix for stack walker. Very rare bug for anyone to encounter.

    Version 4.95, 16th May 2017
    Version 4.95 includes the following functionality:

    • Bug fix for potential crash on some systems due to DLL loading order.
    • Bug fix for DLL dependency checker - now includes scan of WinSxS to handle manifests.
    • Updated documentation, now includes correct error codes, all 66 of them.

    Version 4.94, 6th May 2017
    Version 4.94 includes the following functionality:

    • Addition of Instrumentation Logging. Updated settings dialog and new dialog on Tools menu. This allows you identify when filters prevent something from being instrumented.
    • Improved UX in a few areas.
    • Improvement to Launch Dialog. Applications with missing DLL dependencies are now checked for. If a missing dependency is found you are warned about the failure and given the option to cancel the launch or continue trying to launch.

    Version 4.93, 22nd April 2017
    Version 4.93 includes the following functionality:

    • Minor change to File Locations dialog to draw attention to PDB file locations.
    • Change to DbgHelp failure to find debug information reporting to include PDB file location information - this will draw your attention to the fact you may need to specify this information, for example if you keep your PDB files in a separate directory to the your EXE/DLLs.

    Version 4.92
    Version 4.92 includes the following functionality:

    • Bug fix for instrumentation of switch jump tables.

    Version 4.91, 31st March 2017
    Version 4.91 includes the following functionality:

    • Bug fix for failure to load symbols display - more useful symbol search path information is now displayed.

    Version 4.90, 17th February 2017
    Version 4.90 includes the following functionality:

    • Bug fix injecting into 32 bit process launched from a batch file on a 64 bit operating system.

    Version 4.89, 14th February 2017
    Version 4.89 includes the following functionality:

    • User experience improvement for debug information not found handling.
    • Source code MFC and Microsoft C runtime will now be automatically found based upon the Symbol Lookup Visual Studio selection.
    • Bug fix for monitoring programs launched from batch files if the file path contains spaces.
    • Bug fix for symbol server dialog.
    • Bug fix for grid controls containing check boxes.
    • Bug fix for symbol handling for DLLs in write protected directories.
    • Bug fix for floating licensing.
    • Bug fix for error recovery when attaching to program launched from batch file fails.
    • User experience improvement for error handling try to attach to 64 bit application from batch file.

    Version 4.88, 21st January 2017
    Version 4.88 includes the following functionality:

    • Minor UX fixes and typography fixes.
    • Bug fix for software updates.
    • Additional confirmation dialog for Reset software update credentials.
    • First release after checking and fixing Visual Studio projects using Visual Studio Project Fixer.

    Version 4.87, 22nd December 2016
    Version 4.87 includes the following functionality:

    • Improvement to the first run startup wizard.
    • UX improvement for line timing display.
    • Bug fix for line timing display.
    • Bug fix for hooking function epilogues.

    Version 4.86, 20th December 2016
    Version 4.86 includes the following functionality:

    • Bug fix - deleting temporary files after use.
    • Addition of ability to specify the download location for software updates - allowing system administrators to lock down temporary file execution but allow software updates to execute.

    Version 4.85, 14th December 2016
    Version 4.85 includes the following functionality:

    • New first run configuration dialog to replace the two dialogs shown for environment vars and compiler/IDE chooser.
    • Improved error handling in startup injection code.
    • Prevention of double injection when try to launch executable statically linked with Validator library.
    • Bug fix for symbol loading. Prevent loading of mismatched symbols in special circumstances. This can prevent unexplained crashes causes by misleading information from incorrect symbol data.
    • Addition of line timing filters. These allow you to specify which functions you want to perform line timing for.

    Version 4.84, 5th December 2016
    Version 4.84 includes the following functionality:

    • Change to missing debugging/symbol information reporting.
    • Change to COFF symbol handling. If line numbers are missing, the symbol information is regarded as missing. This will improve the use case for MingW compilers (Qt, Dev C++ etc).

    Version 4.83, 3rd December 2016
    Version 4.83 includes the following functionality:

    • Data comms modification for handling comms once ExitProcess() is called.
    • Change to how Version Information is handled.

    Version 4.82, 25th November 2016
    Version 4.82 includes the following functionality:

    • Various UX improvements when editing filenames and directories.

    Version 4.81, 21st November 2016
    Version 4.81 includes the following functionality:

    • Instrumentation improvements.
    • Multi-threading security improvements.

    Version 4.80, 5th November 2016
    Version 4.80 includes the following functionality:

    • Improved launch instrumentation. Handling race conditions in CreateProcess() with SUSPENDED flag.

    Version 4.79, 3rd November 2016
    Version 4.79 includes the following functionality:

    • Updated software update error handling.
    • Improved code instrumentation.

    Version 4.78, 25th October 2016
    Version 4.78 includes the following functionality:

    • Bug fix for symbol cache - performance improvement, robustness/integrity improvement.
    • Bug fix for for function hooking - improved handling for optimized binaries.
    • Performance improvement fetching font faces.

    Version 4.77, 20th October 2016
    Version 4.77 includes the following functionality:

    • Bug fix for multi-threading error in symbol handling for V4.76.

    Version 4.76
    Version 4.76 includes the following functionality:

    • Addition of two options to the Software Updates menu (purchased version only) for resetting and setting user credentials. This allows you to easily recover from entering bad information by accident.

    Version 4.75, 6th October 2016
    Version 4.75 includes the following functionality:

    • Change to how unqiue symbol data is identified when sending from stub to GUI.

    Version 4.74, 2nd October 2016
    Version 4.74 includes the following functionality:

    • Error handling improvements to startup launch code injector.
    • Prevent data race during shutdown when run from the command line with -hideUI.
    • Bug fix for Hooked DLLs advanced hooking behaviour.

    Version 4.73, 27th September 2016
    Version 4.73 includes the following functionality:

    • Some improvements to multi-threaded data integrity.

    Version 4.72, 19th September 2016
    Version 4.72 includes the following functionality:

    • Bug fix possible crash when hooking executables built with Visual Studio 2015 - to account for changed memory protection values compared to earlier Visual Studio versions.
    • Bug fix possible crash when handling reading modern format PDB files with older (incompatible) versions of DbgHelp.dll if the wrong version of DbgHelp.dll is chosen (or loaded by the OS loader).
    • Debug information created with Visual Studio's /DEBUG:FASTLINK is now detected and a warning displayed on the Diagnostic tab indicarting that /DEBUG needs to be used to create usable debug information.
    • Bug fix for symbol handling (copying DbgHelp.dll so that it can be found).

    Version 4.71, 1st September 2016
    Version 4.71 includes the following functionality:

    • Bug fix for floating licence helper DLL loading being denied due to UI global hook settings.
    • UX improvement for the launch dialog and launch wizard. File and directory specifications that don't exist will be shown in red.

    Version 4.70, 10th August 2016
    Version 4.70 includes the following functionality:

    • Instrumentation progress speedup.

    Version 4.69, 23rd July 2016
    Version 4.69 includes the following functionality:

    • Static analysis bug fix update.

    Version 4.68, 18th July 2016
    Version 4.68 includes the following functionality:

    • Addition of support for EventLog monitoring to identify why some applications fail to start properly. This is available if you are using Vista or more recent operating systems.

    Version 4.67
    Version 4.67 includes the following functionality:

    • Bug fix for accessing COFF and STABS format debug information.
    • Inject dialog bug fix.
    • Bug fix for thread naming.

    Version 4.66, 21st June 2016
    Version 4.66 includes the following functionality:

    • Bug fix for handling unable to write to temporary files when fetching symbols from symbol servers and symbol files.
    • Bug fix for handling faulty .svlord files resulting in empty function names. Now you get something useful even if it's not what should be in the .svlord file. (Better error handling).
    • Bug fix for some handle leaks.
    • Performance improvement for high DPI scaling handling.

    Version 4.65, 11th June 2016
    Version 4.65 includes the following functionality:

    • Performance improvement for processing inter-process comms. Removal of thread contention. Reduction of thread contention.
    • Bug fix for some rare deadlock like conditions (not caused ciritcal sections, but a combination of other events). These are rare and tend to occur when closing one session and launching a new test session.

    Version 4.64, 27th May 2016
    Version 4.64 includes the following functionality:

    • Bug fix for loading/saving of settings data.
    • Bug fix for session manager.

    Version 4.63, 19th May 2016
    Version 4.63 includes the following functionality:

    • Change to shared memory transport. Now more considerate with memory usage. Also has improved out of memory fail-over handling.
    • Bug fix for two data race memory corruptions (that could cause crashes) in the GUI. This is a recommended download.

    Version 4.62, 7th May 2016
    Version 4.62 includes the following functionality:

    • Change to UI global hook defeat mechanism so that Winsock is not interfered with.
    • Enhanced floating licence error status reporting and logging to handle broken Winsock installations.
    • UX changes to prevent multi-relaunches of program due to finger fumble double click.

    Version 4.61, 16th April 2016
    Version 4.61 includes the following functionality:

    • Bug fix for disassembler DLL update.
    • Internal: Addition of auto tester for stress testing.

    Version 4.60, 8th April 2016
    Version 4.60 includes the following functionality:

    • Maintenance update.

    Version 4.59, 2nd April 2016
    Version 4.59 includes the following functionality:

    • Updated disassembler. This will give improved function hooking.
    • Initial support for high DPI monitor compatibility. Font sizes are calculated, not hard coded.

    Version 4.58
    Version 4.58 includes the following functionality:

    • Improvement for working with statically linked Delphi programs.

    Version 4.57, 17th March 2016
    Version 4.57 includes the following functionality:

    • Bug fix for Software Updates Installer.

    Version 4.56, 15th March 2016
    Version 4.56 includes the following functionality:

    • Bug fix for sampling data collection.

    Version 4.55, 4th March 2016
    Version 4.55 includes the following functionality:

    • Bug fix for potentiall deadlock in symbol handling code.

    Version 4.54, 29th February 2016
    Version 4.54 includes the following functionality:

    • Addition of support for _NT_SYMBOL_PATH, _NT_ALT_SYMBOL_PATH, _NT_ALTERNATE_SYMBOL_PATH, _NT_SYMCACHE_PATH. See Symbol Server settings dialog for configuration options.
    • Bug fix for setting environment values in services and applications.
    • Bug fix for failing to correctly restore the size and position of the main window when restarting the software.

    Version 4.53, 16th February 2016
    Version 4.53 includes the following functionality:

    • Bug fix for floating licencing.
    • Maintenance release. Misc bug fixes.

    Version 4.52, 29th January 2016
    Version 4.52 includes the following functionality:

    • Addition of command line option -showErrorsWithMessageBox that reports errors on stdout.
    • Minor bug fixes, maintenance release.
    • Bug fix for damaging SSE registers in certain hooks.

    Version 4.51, 24th December 2015
    Version 4.51 includes the following functionality:

    • Filtering colour changes to improve user experience.

    Version 4.50, 18th December 2015
    Version 4.50 includes the following functionality:

    • Maintenance release. Lots of minor bug fixes.

    Version 4.49, 10th December 2015
    Version 4.49 includes the following functionality:

    • New function timing display. Easier to understand display.
    • New line timing display. Easier to understand display.
    • Bug fix for line timing display.
    • Bug fix for inject dialog and inject wizard.
    • Bug fix for launch wizard.

    Version 4.48, 27th November 2015
    Version 4.48 includes the following functionality:

    • Bug fix for running C++ Performance Validator from a service.
    • Bug fix for incorrectly classifying Windows patch DLLs.
    • Improvement to symbol handling.
    • Improvement to MAP file handling.
    • Bug fix for analysis tab.
    • Bug fix for line timing tab.

    Version 4.47, 21st November 2015
    Version 4.47 includes the following functionality:

    • Addition of ability to specify a different application to monitor than the application that is being launched. This allows you to monitor applications launched by a different application.
    • Addition of -programToMonitor and -programToMonitorLaunchCount command line arguments.
    • User experience improvements for function timing display and line timing display.
    • Bug fix for TDS Symbol Reader when Validator DLL is not loaded from Validator install directory.

    Version 4.46, 25th October 2015
    Version 4.46 includes the following functionality:

    • Bug fix for column configuration dialog when in sampling mode.
    • Lots of bug fixes to improve the user experience on the Analysis tab.
    • Lots of bug fixes to improve the user experience on the Relations tab.
    • Bug fixes to improve the user experience on the Statistics tab.
    • Bug fix for Goto Call Tree Node when call tree not displayed.
    • Bug fix for Goto Call Graph Node when call tree not displayed.
    • Bug fix for export to HTML and export to XML.
    • Bug fix for command line session comparison export HTML.
    • New command line arguments for controlling session comparison. comparisonShowArgs, comparisonShowReturnType, comparisonShowModulename, comparisonShowFilename, comparisonShowAddress
    • Bug fix for serialization - you can't load a session that is already loaded in the session manager.

    Version 4.45, 16th October 2015
    Version 4.45 includes the following functionality:

    • Bug fix for .Net symbol handling when .Net tries to setup profiler for multiple profiler interfaces.
    • Bug fix for handle leak. Leak discovered using C++ Memory Validator.

    Version 4.44, 1st October 2015
    Version 4.44 includes the following functionality:

    • Copy from grid now uses TAB to separate columns rather than SPACE. This is for improved copy/paste with Excel.
    • Loading a session will now detect when attempts are made sessions saved with an incompatible product (example: loading 64 bit session into 32 bit tool). Valid for all sessions from this version onwards.
    • Bug fix for potential crash with manifest handling.

    Version 4.43, 18th September 2015
    Version 4.43 includes the following functionality:

    • New configuration of DbgHelp DLLs for VS 2013 and VS 2015 to provide better performance.

    Version 4.42, 6th September 2015
    Version 4.42 includes the following functionality:

    • Bug fix for error message.

    Version 4.41, 29th August 2015
    Version 4.41 includes the following functionality:

    • Bug fix for settings very large environment variable values.
    • Bug fix for bug during undecorate.
    • Bug fix for symbol handling.

    Version 4.40, 26th August 2015
    Version 4.40 includes the following functionality:

    • Bug fix for process monitoring when target is elevated and Validator is non-elevated.
    • Additional user warning when momitored process is elevated and Validator is non-elevated.
    • Bug fix for a special case of quoted command line arguments.
    • Addition of -monitorAService command line argument.

    Version 4.39, 7th August 2015
    Version 4.39 includes the following functionality:

    • Maintenance update.

    Version 4.38, 1st August 2015
    Version 4.38 includes the following functionality:

    • Support for Visual Studio 2015
    • Bug fix for profiling applications or DLLs that start with with the letters MFC but which are not Microsoft DLLs.

    Version 4.37
    Version 4.37 includes the following functionality:

    • Changes to Inject wizard to use same style and sizing as for all other Validator tools.

    Version 4.36, 23rd July 2015
    Version 4.36 includes the following functionality:

    • New implementation for launching and injecting into executables. This method removes some technical limitations, opening the way for future improvements to the software.
    • Bug fix for Inject dialog incorrectly listing 64 bit executables to inject into.

    Version 4.35, 3rd July 2015
    Version 4.35 includes the following functionality:

    • Bug fix for UI Defeat Global hook.

    Version 4.34, 23rd June 2015
    Version 4.34 includes the following functionality:

    • Minor UX improvements.
    • Change to how launch history is stored and managed. Principle reason for this is to fix a long standing, hard to reproduce bug that mixes up data from one launch with another launch.
    • Bug fix for colour editing refresh problem.
    • Bug fix for session compare.
    • Minor change to HTML export behaviour.
    • Static analysis improvements.
    • Improvements to exception logging.
    • Improved UI defeat global hook implementation.

    Version 4.33, 11th June 2015
    Version 4.33 includes the following functionality:

    • Bug fix for potential memory leak caused by race condition.
    • Bug fix for high speed shared memory data transport race condition during shutdown.
    • Bug fix for symbol demangling bug with Microsoft's UnDecorateSymbolName which can crash with certain input.
    • UX Change in behaviour for the Get Symbols... action on the Symbol Servers settings page. Now meets user expectations.
    • Fixed callstack view missing threads bug.

    Version 4.32, 2nd June 2015
    Version 4.32 includes the following functionality:

    • Bug fix for symbol demangling for MingW.
    • Bug fix for -exportAsHTML.

    Version 4.31, 12th May 2015
    Version 4.31 includes the following functionality:

    • Improved launch handling of mixed mode .Net modules.
    • Improved Windows Firewall handling.

    Version 4.30, 25th April 2015
    Version 4.30 includes the following functionality:

    • Better support for reading Embarcadero/Borland TDS files. (C++Builder / Delphi)

    Version 4.29, 17th April 2015
    Version 4.29 includes the following functionality:

    • Static analysis improvements.
    • Minor bug fixes.

    Version 4.28, 10th April 2015
    Version 4.28 includes the following functionality:

    • Minor UX improvements.
    • Name obfuscation for symbols/files when logging.
    • Improvements to display of MBCS encoded (non-ANSI) files with no Byte Order Mark.

    Version 4.27, 30th March 2015
    Version 4.27 includes the following functionality:

    • Bug fix for possible inject failure when run from the command line.

    Version 4.26, 24th March 2015
    Version 4.26 includes the following functionality:

    • Support for non-western character sets in source code display - examples include Greek, Korean, Chinese, Japanese, Albanian, Arabic, Hebre, Hindia, Armenian, Russian.

    Version 4.25, 18th March 2015
    Version 4.25 includes the following functionality:

    • Bug fix for floating licensing.

    Version 4.24, 13th March 2015
    Version 4.24 includes the following functionality:

    • Bug fix for Windows 7 crash when hooking.

    Version 4.23, 7th March 2015
    Version 4.23 includes the following functionality:

    • New DLL load detection support for Windows 8. Previously some DLLs loaded by COM were not being monitored.
    • Bug fix for PE file inspector.
    • Static analysis bug fixes.

    Version 4.22, 18th February 2015
    Version 4.22 includes the following functionality:

    • Change to Performance settings so that you can choose how lines are timed.
    • Bug fix to performance timing.
    • Update to help manual for Performance settings.
    • Improvement for symbol cache cleaner dialog management.
    • Exception safety for disassembler.

    Version 4.21, 4th February 2015
    Version 4.21 includes the following functionality:

    • New VS2010 Installer handling. No user interaction required - no confusion over what to choose.
    • Improved launch procedure for when trying to launch a program that needs administrator privileges when Validator not running as administrator.
    • Improved Diagnostic tab - a filter is now present so that you can easily focus on just the messages you are interested in.

    Version 4.20, 28th January 2015
    Version 4.20 includes the following functionality:

    • Improved choose a Visual Studio dialog. Better error handling on machines with no Visual Studio installed.
    • Resizable launch dialog.
    • Resizable wait for process dialog.
    • Bug fixes and UX improvements for environment variables dialog.
    • Bug fix for potential crash with copy to clipboard.
    • Improvement to Inject into Process dialog.
    • Bug fix for "Hooked DLLs" dialog, don't hook delay loaded dlls checkbox.

    Version 4.19, 5th January 2015
    Version 4.19 includes the following functionality:

    • New build with Visual Studio 2010. Support for Operating Systems from Windows XP onwards. Windows NT4 and Windows 2000 are no longer supported, except with a special build..
    • Additional security checks.
    • Improved performance with some VirtualQuery() calls.
    • Bug fix for profiling EXE/DLL in the system32/sysWow64 directory.

    Version 4.18, 21st November 2014
    Version 4.18 includes the following functionality:

    • Bug fix for Hide All menu option on the Data Views menu.
    • Bug fix for restoring Data Views.

    Version 4.17, 16th November 2014
    Version 4.17 includes the following functionality:

    • Bug fix for registry handling.
    • Bug fix for launch dialog.

    Version 4.16, 3rd October 2014
    Version 4.16 includes the following functionality:

    • New menu, "Data Views" allowing you to show, hide or reset all tabbed views.
    • Ability to hide any data view to simplify the screen layout.
    • Data view visibility preserved between sessions.
    • Addition of command line argument -doNotInteractWithUser. Use this to prevent the stub or the GUI from displaying error dialogs during runs. This is useful when setting up automated testing on a server.

    Version 4.15, 11th September 2014
    Version 4.15 includes the following functionality:

    • Bug fix for software update installer.

    Version 4.14, 22nd August 2014
    Version 4.14 includes the following functionality:

    • Bug fix for reading/writing values to/from the registry.
    • Line timing improvement for Windows Vista/7/8/future - times are now CPU cycles per thread.
    • Bug fixes for data display on Functions view.

    Version 4.13, 6th August 2014
    Version 4.13 includes the following functionality:

    • Support for Visual Studio 2014 CTP

    Version 4.12, 25th July 2014
    Version 4.12 includes the following functionality:

    • Registry reading error handling update.
    • Update to Software Updates install behaviour.
    • Settings serialization bug fix.

    Version 4.11, 16th July 2014
    Version 4.11 includes the following functionality:

    • Bug fix for disassembler code.
    • Change to Browse for Folder behaviour.

    Version 4.10, 7th July 2014
    Version 4.10 includes the following functionality:

    • Updated installer, now includes error logging for the odd occasion when installs go wrong.
    • Misc other updates and bug fixes.

    Version 4.09, 20th June 2014
    Version 4.09 includes the following functionality:

    • Bug fix for possible crash when reallocating memory (Inject dialog).

    Version 4.08, 14th June 2014
    Version 4.08 includes the following functionality:

    • Bug fix for crash during instrumentation.
    • Bug fix for slow Post Processing stage when waiting for target application to close.
    • Fix application specific file storage issues when run without admin privileges on Vista/7/8.
    • Bug fix for incorrect memory reallocation in svlService.
    • This is a recommended download.

    Version 4.07, 4th June 2014
    Version 4.07 includes the following functionality:

    • Can now detect and warn about incompatibility with Microsoft Application Verifier.
    • Improved error reporting for hooks.
    • Misc bug fixes for errors found in testing.

    Version 4.06, 25th May 2014
    Version 4.06 includes the following functionality:

    • New version that does not require administrator privileges to run. No User Account Control dialogs!
    • Improved function hooker.
    • Improved delay load hooker.
    • Improved failure reporting.
    • Bug fix for rare crash in high speed comms linear heap.

    Version 4.05, 22nd March 2014
    Version 4.05 includes the following functionality:

    • Bug fix for profiling mixed mode native/.Net processes.
    • Bug fix for memory leak.

    Version 4.04, 19th March 2014
    Version 4.04 includes the following functionality:

    • Maintenance release.
    • Improved PE File reader.
    • Bug fix for attaching to .Net processes.

    Version 4.03, 5th March 2014
    Version 4.03 includes the following functionality:

    • Symbol handling bug fix.

    Version 4.02, 11th February 2014
    Version 4.02 includes the following functionality:

    • Instrumentation bug fix.
    • Minor UX improvements. Browse For Folder dialog.

    Version 4.01, 1st February 2014
    Version 4.01 includes the following functionality:

    • Miscellaneous UX improvements.
    • Miscellaneous bug fixes.
    • Addition of command line argument -launchAppHide
    • Addition of command line argument -launchAppShow
    • Addition of command line argument -launchAppShowMaximized
    • Addition of command line argument -launchAppShowMinimized
    • Addition of command line argument -launchAppShowMinNoActive
    • Addition of command line argument -launchAppShowNA
    • Addition of command line argument -launchAppShowNoActivate
    • Addition of command line argument -launchAppShowNormal

    Version 4.00, 2nd January 2014
    Version 4.00 includes the following functionality:

    • Release of new 64 bit and 32 bit version of C++ Performance Validator.

    Version 3.54, 24th December 2013
    Version 3.54 includes the following functionality:

    • Bug fix for incorrect return value from SymGetModuleInfo(64) DbgHelp.dll API

    Version 3.53, 19th December 2013
    Version 3.53 includes the following functionality:

    • Bug fix for broken resources in some user interface components.

    Version 3.52, 10th December 2013
    Version 3.52 includes the following functionality:

    • Bug fix for code instrumentation disassembler.

    Version 3.51, 4th December 2013
    Version 3.51 includes the following functionality:

    • Bug fix for symbol servers settings dialog.
    • Bug fix for failing to fetch symbols from symbol servers in certain situations.
    • Bug fix for Cpu Thread Cycles mode.
    • Command line arguments containing quotes can now be passed to target programs.

    Version 3.50, 9th November 2013
    Version 3.50 includes the following functionality:

    • Lock handling change for symbol handler. Spend less time in lock. Reduce likelihood of deadlock in stub.
    • Licensing code update.

    Version 3.49, 5th November 2013
    Version 3.49 includes the following functionality:

    • Changed application and Hooked DLLs bug fix and behaviour change.
    • Bug fix for session serialization using too much memory when loading.
    • Maintenance: Licensing code update. Code cleanup. Code removal.

    Version 3.48, 15th October 2013
    Version 3.48 includes the following functionality:

    • Editor settings dialog bug fix.

    Version 3.47, 3rd October 2013
    Version 3.47 includes the following functionality:

    • Addition of ability to get CPU cycle time per thread. Works on all operating systems from Vista onwards. No support for Windows XP or earlier.

    Version 3.46, 27th September 2013
    Version 3.46 includes the following functionality:

    • Changed how file extensions are displayed in File Open / File Save dialog.
    • Speed improvement for all tree/grid controls. This will improve the performance tree controls with large datasets greatly.

    Version 3.45, 24th September 2013
    Version 3.45 includes the following functionality:

    • Bug fix for symbol handling.

    Version 3.44, 14th September 2013
    Version 3.44 includes the following functionality:

    • Addition of logging code to track obscure memory mapping bugs.
    • Improved error reporting for failed Named Pipes.
    • Improved Symbol Server handling - now automatically quotes directories that include spaces.
    • Bug fix for filtering 'dynamic initializer for...' symbols.

    Version 3.43, 23rd August 2013
    Version 3.43 includes the following functionality:

    • Bug fix for hooking functions.
    • Bug fix multi-threaded access to symbol in module manager.

    Version 3.42, 9th August 2013
    Version 3.42 includes the following functionality:

    • Misc software bug fixes.
    • New help file builder.

    Version 3.41, 27th July 2013
    Version 3.41 includes the following functionality:

    • Diagnostic view performance improvement.
    • Native code instrumentation performance improvement.

    Version 3.40, 11th July 2013
    Version 3.40 includes the following functionality:

    • Provisional support for Visual Studio 2013.
    • Bug fix for file extension filtering.

    Version 3.39, 25th June 2013
    Version 3.39 includes the following functionality:

    • Updated diagnostic view to allow filtering of the data displayed in the view
    • Addition of DbgHelp.dll symbol search path information to diagnostic view - to aid in diagnosing why symbols do not load.

    Version 3.38, 6th June 2013
    Version 3.38 includes the following functionality:

    • Improved handling of DLL filtering.

    Version 3.37, 24th May 2013
    Version 3.37 includes the following functionality:

    • Bug fix for crash in symbol handler.

    Version 3.36, 16th May 2013
    Version 3.36 includes the following functionality:

    • Environment variables dialog (on launch dialog/wizard) can now acquire environment variables from the system and import and export environment variables from/to files.

    Version 3.35, 29th April 2013
    Version 3.35 includes the following functionality:

    • Bug fix for columns dialog.

    Version 3.34
    Version 3.34 includes the following functionality:

    • Bug fix for fetching of symbols and symbol server handling.
    • Bug fix for settings dialog.

    Version 3.33, 11th April 2013
    Version 3.33 includes the following functionality:

    • Bug fix for error R6034 - loading wrong C Runtime error displayed during startup or shutdown of target application

    Version 3.32, 9th April 2013
    Version 3.32 includes the following functionality:

    • Bug fix for launch dialog and launch wizard/
    • Updated symbol server support.
    • Update for .Net support.

    Version 3.31, 26th March 2013
    Version 3.31 includes the following functionality:

    • Support for VS2012, .Net Framework 4.5.
    • Bug fix for Tips dialog.

    Version 3.30, 13th March 2013
    Version 3.30 includes the following functionality:

    • New debugging symbols handler. Faster, more robust, more fault tolerant.

    Version 3.29
    Version 3.29 includes the following functionality:

    • Bug fix for broken keygen for eval/beta versions.

    Version 3.28, 9th February 2013
    Version 3.28 includes the following functionality:

    • Bug fix for auto-fixing data comms control values.
    • Addition of support for floating licensing.

    Version 3.27
    Version 3.27 includes the following functionality:

    • Bug fix for launching different application to the Hooked DLLs settings.
    • UX modifications for Inject into Process dialog.
    • Bug for -waitName command line argument.

    Version 3.26, 16th January 2013
    Version 3.26 includes the following functionality:

    • Many changes to improve the UX of the software.
    • Prevent double clicks on the tree +/- button from changing the tree state.
    • Prevent losing selection when deleting data from grids.
    • Improved settings dialog selection on tree control.
    • Improved progress dialog.
    • Improved visual feedback for file extensions filters.
    • Improved visual feedback for class/method filters.
    • Improved visual feedback and data population speed on class method filter dialog.
    • Improved UI feedback after loading settings or resettings settings from the settings dialog.
    • Auto-expand the performance call graph after refresh.
    • Auto-expand the performance call tree after refresh.
    • Auto-expand the performance analysis results after refresh.
    • Change to tree control to remember it's expand/contract state between clicks.
    • Improved filter exclusion handling for class/method and DLL filtering.
    • Bug fixes for relations filter manager dialog.
    • Improved navigation on relations view.
    • Added forward navigation to relations view.
    • Improved line timing view.

    Version 3.25, 6th January 2013
    Version 3.25 includes the following functionality:

    • Improvements to tree expand/collapse behaviour to improve user experience.
    • Bug fix for erroneous DelayHook message.

    Version 3.24, 4th January 2013
    Version 3.24 includes the following functionality:

    • Bug fix for buffer overrun.

    Version 3.23, 3rd January 2013
    Version 3.23 includes the following functionality:

    • Various minor UX improvements.
    • Bug fix for flicker on Functions view when scrolling.
    • Bug fix for flicker on Relations view when scrolling.
    • Bug fix for slow behaviour on Relations view.
    • Fixed display line times check box bug.
    • Improved how statistics are displayed insitu with code.
    • Improved how Tree Controls are rendered.
    • New version of editing component, providing additional functionality.
    • New cleaner drawing style for tree/grid control.
    • Minor UX changes.
    • Minor bug fixes.

    Version 3.22, 5th December 2012
    Version 3.22 includes the following functionality:

    • User experience improvements for DbgHelp.dll chooser.
    • Bug fix for UI and Stub Global Hook settings.

    Version 3.21, 13th November 2012
    Version 3.21 includes the following functionality:

    • Bug fixes from static analysis.

    Version 3.20, 18th October 2012
    Version 3.20 includes the following functionality:

    • Bug fix for possible deadlock with Session Manager.
    • Bug fix for possible deadlock with Diagnostic View.
    • Bug fix for processing MingW debug info.

    Version 3.19, 9th October 2012
    Version 3.19 includes the following functionality:

    • Bug fixes after static analysis work.

    Version 3.18, 14th September 2012
    Version 3.18 includes the following functionality:

    • Improved file handling. Can now read ANSI, UTF-8, UTF-16 (both variants).
    • Launch dialog/wizard has additional check for UPX compressed executables.

    Version 3.17, 14th August 2012
    Version 3.17 includes the following functionality:

    • UX fixes for Session Manager dialog.
    • All sessions now have a session alias so you can give a session a meaningful name.
    • New option on Tools menu allowing you to explore the debug info status per DLL.

    Version 3.16, 29th July 2012
    Version 3.16 includes the following functionality:

    • Replaced Tip of the Day dialog with a new modeless tips dialog that works very differently.
    • UX improvements to various dialogs.
    • Minor bug fixes.

    Version 3.15, 2nd July 2012
    Version 3.15 includes the following functionality:

    • Performance improvement for class/method filter dialog.

    Version 3.14, 27th June 2012
    Version 3.14 includes the following functionality:

    • Bug fix for DLL filtering.
    • Bug fixes from static analysis tool.
    • Editing tool upgrade.

    Version 3.13, 15th June 2012
    Version 3.13 includes the following functionality:

    • Bug fix for XML export.
    • Bug fix for Visual Studio editing.
    • More improvements from static analysis work.

    Version 3.12
    Version 3.12 includes the following functionality:

    • Bug fix for Visual Studio editing.

    Version 3.11, 11th May 2012
    Version 3.11 includes the following functionality:

    • Bug fix for -commandFile command line argument handling.

    Version 3.10, 8th May 2012
    Version 3.10 includes the following functionality:

    • New behaviour for -program programName. If programName is specified without a path we search the start directory and the PATH environment variable and select the first matching program.
    • Ability to specify tab width for source code views.
    • Bug fix for launching progams from the command line with the -allArgs argument.

    Version 3.09, 2nd May 2012
    Version 3.09 includes the following functionality:

    • More bug fixes from static analysis with Visual Lint.
    • New file format - not backwards compatible (sorry). But the change is worth it.
    • Addition of -allArgs command line argument.
    • Change to command line behaviour - unrecognised arguments are ignored. Use -allArgs instead.

    Version 3.08, 19th February 2012
    Version 3.08 includes the following functionality:

    • Bug fix for invalid handle crash in user interface.

    Version 3.07
    Version 3.07 includes the following functionality:

    • Bug fixes from static analysis with Visual Lint.

    Version 3.06, 14th January 2012
    Version 3.06 includes the following functionality:

    • Bug fix for URL encoding when talking to software update server.

    Version 3.05, 11th January 2012
    Version 3.05 includes the following functionality:

    • Bug fix for crash on Columns... dialog.

    Version 3.04, 6th January 2012
    Version 3.04 includes the following functionality:

    • Lock handling performance improvements.
    • Software update changes - update will not happen when run from command line.

    Version 3.03, 22nd December 2011
    Version 3.03 includes the following functionality:

    • Bug fix for potential memory corruption.

    Version 3.02, 16th December 2011
    Version 3.02 includes the following functionality:

    • Bug fix for software updater throwing MFC exception on some systems.

    Version 3.01, 10th December 2011
    Version 3.01 includes the following functionality:

    • Bug fix for deadlock when hooking certain DLLs.
    • XML output modified to be more readable with a text editor.
    • Updated self-installer to handle additional security checks for some computer systems.

    Version 3.00, 3rd December 2011
    Version 3.00 includes the following functionality:

    • Addition of software update code.

    Version 2.99
    Version 2.99 includes the following functionality:

    • Reduce memory usage for Visual Studio debugging information after profiling.

    Version 2.98, 17th October 2011
    Version 2.98 includes the following functionality:

    • Robustness improvement for handling shared memory profiler data.

    Version 2.97, 4th October 2011
    Version 2.97 includes the following functionality:

    • Improved Symbol Server support - workaround for hang caused by WinInet global Mutexs.
    • New tutorial tab and additional option on Help menu.

    Version 2.96
    Version 2.96 includes the following functionality:

    • Update for evaluations.

    Version 2.95, 21st September 2011
    Version 2.95 includes the following functionality:

    • Tutorials moved to the website. Tutorial link always available from help menu and at startup.

    Version 2.94, 30th August 2011
    Version 2.94 includes the following functionality:

    • Bug fix for line iteration.

    Version 2.93, 19th August 2011
    Version 2.93 includes the following functionality:

    • Bug fix for crash during shutdown.

    Version 2.92
    Version 2.92 includes the following functionality:

    • Addition of line timing information to Call Tree, Call Graph and Analysis views.

    Version 2.91
    Version 2.91 includes the following functionality:

    • Bug fix for stall during line hooking due to new DbgHelp.dll behaviour for some inline code.

    Version 2.90, 1st August 2011
    Version 2.90 includes the following functionality:

    • Improved "Symbol Lookup" Visual Studio chooser based upon user feedback.

    Version 2.89, 22nd June 2011
    Version 2.89 includes the following functionality:

    • Low data processing race condition bug fix.

    Version 2.88, 21st June 2011
    Version 2.88 includes the following functionality:

    • New file missing dialog implementation.
    • Bug fix for code instrumentation.

    Version 2.87, 17th May 2011
    Version 2.87 includes the following functionality:

    • Bug fix for buffer overrun on session export dialog.

    Version 2.86, 28th April 2011
    Version 2.86 includes the following functionality:

    • Bug fix for crash on Callstacks view with Thread Names dialog.

    Version 2.85, 19th April 2011
    Version 2.85 includes the following functionality:

    • Bug fix for MingW stabs debug information reading.
    • New menu implementation, addition of bitmaps.

    Version 2.84, 13th April 2011
    Version 2.84 includes the following functionality:

    • Bug fix for COMCTL32.DLL bitmap handling.

    Version 2.83, 1st April 2011
    Version 2.83 includes the following functionality:

    • Inject, Launch and Wait wizard layouts changed to be more industry standard behaviour.

    Version 2.82, 17th March 2011
    Version 2.82 includes the following functionality:

    • Bug fix for unwanted disk FindFirstFile.
    • Improved COFF/STABS symbol handling.

    Version 2.81, 11th March 2011
    Version 2.81 includes the following functionality:

    • Bug fix for DbgHelp.dll specification.
    • Additional techniques for identifying Visual Studio installs.

    Version 2.80, 2nd March 2011
    Version 2.80 includes the following functionality:

    • When run from the command line using command line options the return code is now the return code of the most recently run app.
    • Bug fix for race condition when starting second or subsequent session, could cause possible crash.
    • Fix minor bug fixes.

    Version 2.79, 6th February 2011
    Version 2.79 includes the following functionality:

    • Change of behaviour for symbol server dialog.

    Version 2.78, 4th February 2011
    Version 2.78 includes the following functionality:

    • New communications architecture.
    • New handling for dbghelp.dll and different versions of Visual Studio.

    Version 2.77, 29th December 2010
    Version 2.77 includes the following functionality:

    • Support for .Net framework 4, CLR 4.
    • Bug fix for callstack walking for some mixed mode apps.
    • More robust callstack walking for all applications.

    Version 2.76, 3rd November 2010
    Version 2.76 includes the following functionality:

    • Rationalising code base. Maintenance release.

    Version 2.75, 30th July 2010
    Version 2.75 includes the following functionality:

    • Maintenance release.

    Version 2.74, 16th July 2010
    Version 2.74 includes the following functionality:

    • Bug fix for memory mapped memory usage - now more efficient.

    Version 2.73, 3rd July 2010
    Version 2.73 includes the following functionality:

    • Bug fix for profiling mixed-mode .Net applications when running on a 64 bit operating system.

    Version 2.72, 4th June 2010
    Version 2.72 includes the following functionality:

    • New implementation for cpuid/rdtsc handling.
    • Additional information on the diagnostic tab.
    • Additional information in exception reports.
    • Bug fix for reading stabs debug information from MingW4.4 compiler (handles relative filenames correctly).
    • Bug fix for reading COFF debug information from MingW4.4 compiler (Performance improvement).

    Version 2.71, 24th May 2010
    Version 2.71 includes the following functionality:

    • Support for Windows 7 KernelBase.dll hooking.
    • Support for editing with VS 2010.
    • Bug fix for editing with VS 2008
    • Bug fix for GetProcAddress() hooking.
    • Bug fix for crash fetching long .Net symbols in mixed mode applications.

    Version 2.70, 21st April 2010
    Version 2.70 includes the following functionality:

    • Completely reworked data collection internals to simplify memory management, improve robustness, use less memory, run faster, etc.
    • Removed Inter Process Communications settings from settings dialog, now redundant.
    • Moved DLL Hook Insertion rules to Hooked DLLs settings.
    • Simplified Line Hooking settings.
    • Bug fix for call tree and call graph: Module name shown correctly.

    Version 2.69, 25th March 2010
    Version 2.69 includes the following functionality:

    • Changes to line timing implementation.
    • Bug fix for handle leak with ToolHelp32.
    • Bug fix for failure with socket() when incorrectly hooking resource DLLs that have more than one section (example: mfc80enu.dll).

    Version 2.68, 2nd March 2010
    Version 2.68 includes the following functionality:

    • Bug fix for environment variable handling.
    • Bug fix for license installer software.

    Version 2.67, 18th February 2010
    Version 2.67 includes the following functionality:

    • Improved handling of mixed mode .Net applications - specifically .Net applications that call unmanaged code directly from .Net code.
    • Version checking for DbgHelp.dll - status and any warning messages displayed on Diagnostic tab.
    • Bug fix for Export Session dialog.
    • Bug fix for Hooked DLLs.

    Version 2.66, 21st December 2009
    Version 2.66 includes the following functionality:

    • Minor UI changes to add user hints.
    • All executables are now code signed to prevent warnings on Vista/Windows 7.
    • Bug fix for deadlock.

    Version 2.65, 13th November 2009
    Version 2.65 includes the following functionality:

    • Bug fix for reading various types of malformed DLLs.
    • Correct detection of Resource only DLLs.

    Version 2.64, 5th November 2009
    Version 2.64 includes the following functionality:

    • Support for MingW gcc/g++ compilers when compiled with STABS debug information (-gstabs switch)
    • Support for applications built using QtCreator
    • .Net method module, class, method names in native sampling callstacks

    Version 2.63, 26th October 2009
    Version 2.63 includes the following functionality:

    • Support for MingW gcc/g++ compilers when compiled with COFF debug information (-gcoff switch)

    Version 2.62, 6th October 2009
    Version 2.62 includes the following functionality:

    • Bug fix for callstack tab for sampling.
    • Bug fix for callstack tab when toolhelp fails to acquire active thread ids, session will provide them, ensuring active callstack viewing.
    • Bug fix for settings loading/saving (V2.58 onwards).
    • Bug fix for incorrect colouring of displays (indicates filtered entries incorrectly) when filtering by DLL.
    • Bug fix for Delphi code coverage when working with .itext segment information in detailed MAP files.
    • Bug fix for line timing display.

    Version 2.61, 23rd September 2009
    Version 2.61 includes the following functionality:

    • Support for launching batch files as well as executable. First application launched by batch file will be monitored.
    • Bug fix for instrumenting Delphi code.
    • Improved support for instrumenting "inline" jump tables used by compilers building switch tables.

    Version 2.60, 2nd September 2009
    Version 2.60 includes the following functionality:

    • Installer bug fix.

    Version 2.59, 18th August 2009
    Version 2.59 includes the following functionality:

    • Bug fix for shutdown handling to prevent busy wait with DbgHelp.
    • Bug fix for advanced DbgHelp symbol handling.
    • Bug fix for Windows Symbols PDB Paths handling on launch dialog.

    Version 2.58, 10th August 2009
    Version 2.58 includes the following functionality:

    • Various minor bug fixes.
    • Memory access synchronization bug fixes.

    Version 2.57, 1st May 2009
    Version 2.57 includes the following functionality:

    • Misc bug fixes.

    Version 2.56
    Version 2.56 includes the following functionality:

    • Hooked DLLs, sorted DLLs in list.

    Version 2.55, 6th April 2009
    Version 2.55 includes the following functionality:

    • Bug fix for session export to HMTL and XML.
    • Bug fix for occasional deadlock which prevents correct collection of sampling data.

    Version 2.54, 25th March 2009
    Version 2.54 includes the following functionality:

    • Addition of new command line argument. -launchAppHidden. Causes the program started with -program to run hidden.
    • Minor tip of day bug fix.
    • Minor gui fixes.

    Version 2.53, 6th March 2009
    Version 2.53 includes the following functionality:

    • Minor bug fixes.

    Version 2.52, 6th March 2009
    Version 2.52 includes the following functionality:

    • Misc bug fixes. Maintenance release.

    Version 2.51, 30th January 2009
    Version 2.51 includes the following functionality:

    • Modified Inject dialog to be resizable and remember which column it sorts on and previous selection.

    Version 2.50
    Version 2.50 includes the following functionality:

    • Bug fix for launching on Windows Vista and Windows 2008.

    Version 2.49, 9th December 2008
    Version 2.49 includes the following functionality:

    • Bug fix for obscure "The Handle is invalid." error message that can happen during launch.
    • Bug fix for launching on Windows Vista and Windows 2008.

    Version 2.48, 24th November 2008
    Version 2.48 includes the following functionality:

    • Code hooking rationalisation.
    • Bug fix for -fileLocations command line switch.
    • Bug fix for data corruption in tree/grid control class hierarchy.

    Version 2.47, 23rd October 2008
    Version 2.47 includes the following functionality:

    • Robustness maintenance.

    Version 2.46
    Version 2.46 includes the following functionality:

    • Addition of support for Symbol Servers.
    • Detection of incorrect linking with C runtime version for Visual Studio 2005/2008 to detect coredll.dll (a WinCE dll) type errors.
    • Detection of launching applications from windows\system32 or injecting into applications/services running from windows\system32.
    • Bug fix for sampling mode.
    • Addition of 32 bit executable test.

    Version 2.45
    Version 2.45 includes the following functionality:

    • Bug fix for missing filename while hooking.
    • Bug fix for Session Manager dialog.

    Version 2.44
    Version 2.44 includes the following functionality:

    • Bug fix for Session Manager dialog, attach dialog and attach wizard.

    Version 2.43
    Version 2.43 includes the following functionality:

    • Addition of bar graph performance statistics on main displays.
    • Sorting behaviour improvement for relations tab.
    • Bug fix for missing fileName, lineNumber on main displays when line timing enabled (line timing fileName and lineNumber are OK).

    Version 2.42
    Version 2.42 includes the following functionality:

    • Bug fix for crash with inject wizard.
    • Bug fix for background colour on some resizing graphical dialog boxes.
    • Bug fix for source code display possible crash when in a splitter window.

    Version 2.41
    Version 2.41 includes the following functionality:

    • Bug fix for crash with settings dialog File Locations.
    • Replacement of all 3rd party tab controls with a custom tab control.
    • Bug fix for source code control and misc controls flickering when resizing in a splitter window.

    Version 2.40
    Version 2.40 includes the following functionality:

    • Bug fix for race condition that caused <please wait...> and <UNKNOWN> symbol names to fail to resolve to valid symbol names. You will still get these symbol names, as they are displayed whilst waiting for the symbols to arrive from the stub, however they will now resolve.
    • Bug fix for hooking using Delphi MAP data, to handle .itext segments.
    • Addition of -fileLocations command line argument.
    • Addition of Export and Import options to File Locations settings dialog.
    • Bug fix for settings dialog to allow correction selection of specified tab.
    • Update to licensing dialog to prevent confusion with example application.
    • Minor bug fixes.

    Version 2.39
    Version 2.39 includes the following functionality:

    • Replacement of all 3rd party grid/tree controls with the same virtual grid/tree control used for the main displays. This change has been made for consistency of user interface and also to facilitate future ports of the software to alternate operating systems and widget toolkits.
    • Bug fix for flickering main display when resizing.
    • Column sort highlighting - arrow on column header and colour column colour hinting for the entire column.
    • New layout for setting dialog, to make settings dialogs as similar as possible across the entire Software Verify product range.
    • New default colours - click Reset on settings dialog to get them (other settings will change as well!)

    Version 2.38
    Version 2.38 includes the following functionality:

    • Bug fix for instrumentation.
    • Bug fix for cached instrumentation data date error when map file has earlier timestamp than DLL.
    • Improved Delphi MAP file reading.

    Version 2.37
    Version 2.37 includes the following functionality:

    • Bug fix for some code that could cause Data Execution Prevention violations if you had this Operating System option enabled.

    Version 2.36
    Version 2.36 includes the following functionality:

    • Improved detection method for .Net modules.
    • Bug fix for "The handle is invalid" error when trying to launch applications.

    Version 2.35
    Version 2.35 includes the following functionality:

    • Performance improvement for reading and writing instrumentation cache files.
    • Performance improvement for reading files.
    • Inclusion of helper application to delete symbol cache files.
    • Bug fix for instrumentation caching revocation.
    • Addition of -sourceFileFilterHookFile command line option, see help for details.

    Version 2.34
    Version 2.34 includes the following functionality:

    • Bug fix for Callstack view thread updating.

    Version 2.33
    Version 2.33 includes the following functionality:

    • Bug fix for stack overflow bug inspecting dependent DLLs on very large applications.
    • Provisional support for Visual Studio 9.0/2008

    Version 2.31
    Version 2.32 includes the following functionality:

    • Bug fix for source code colouring.
    • Bug fix for uninitialised data.

    Version 2.31
    Version 2.31 includes the following functionality:

    • Bug fix for crash when double click on Reset button on settings dialog.
    • Misc maintenance improvements.
    • Bug fix for callstack view.

    Version 2.29
    Version 2.30 includes the following functionality:

    • Bug fix for race condition (causes crash) for inter process comms one multi core/cpu machines. Bug is not visible on HyperThreaded machines or single cores CPUs. Bug has been seen on dual core CPUs, but is more obvious on dual core quad CPU machines.

    Version 2.29
    Version 2.29 includes the following functionality:

    • Minor bug fixes.

    Version 2.27
    Version 2.28 includes the following functionality:

    • Shared memory data access lock bug fix for Raw Statistics and Analysis tabs.

    Version 2.27
    Version 2.27 includes the following functionality:

    • Source code colouring - more languages supported.
    • File dialog file extension handling improvements.
    • Launch dialog/wizard - addition of Delete button.

    Version 2.25
    Version 2.26 includes the following new functionality:

    • Addition of line timing performance warning dialog.

    Version 2.25
    Version 2.25 includes the following new functionality:

    • Support for instrumenting Borland BPL files.

    Version 2.24
    Version 2.24 includes the following new functionality:

    • Support for launching .Net 1.0/1.1/2.0 applications.

    Version 2.23
    Version 2.23 includes the following new functionality:

    • IMproved HTML Help handling.

    Version 2.22
    Version 2.22 includes the following new functionality:

    • "Help PDF" added to Help menu if PDF help file is present in installation directory.
    • Bug fix for installer.
    • Behaviour change for Global Hook DLL handler.

    Version 2.21
    Version 2.21 includes the following new functionality:

    • Feature Improvement: (Customer request) Multiple Memory Validator instances now supported for "Inject" and "Wait for Application" as well as for launching.
    • Bug fix: Any .NET DLLs loaded by the instrumented process will be ignored.
    • Modified launch, inject and wait for application topics to include references to new help topics explaining possible reasons for failure to inject. Updated help topics related to working with services. New Help topics on:
      • What causes Inject or launch to fail?
      • Why are some functions not hooked?
      • Why are some lines not hooked?

    Version 2.20
    Version 2.20 includes the following new functionality:

    • Bug fix for load/saving settings.
    • Updated scrollbar handling for editor component.
    • Bug fix for COFF/CodeView debugging info reading.

    Version 2.19
    Version 2.19 includes the following new functionality:

    • Text change for HTML export to bring into line with statistics tab.

    Version 2.18
    Version 2.18 includes the following new functionality:

    • Bug fix for relations tab.

    Version 2.17
    Version 2.17 includes the following new functionality:

    • Bug fix crash caused when hooking the "initialization" functions identified by Borland debugging data.

    Version 2.16
    Version 2.16 includes the following new functionality:

    • Bug fix for timing data error for functions that have not exited when program ends (for example if you exit prior to the end of the application).
    • Bug fix for UI display bug on relations tab.
    • Bug fix for session manager dialog.

    Version 2.15
    Version 2.15 includes the following new functionality:

    • Bug fix for various memory leaks.

    Version 2.14
    Version 2.14 includes the following new functionality:

    • Addition of extra diagnostic data for helping diagnose problems when data goes bad.
    • Bug fix for rare crash whilst instrumenting code.
    • Bug fix for divide by zero error.

    Version 2.13
    Version 2.13 includes the following new functionality:

    • Addition of filtering on module name for Display filters.
    • Bug fix for potential buffer overflow when command line of tested application is very long (MAX_PATH + 256 TCHARs).
    • Command line displayed on diagnostic tab.
    • Detailed command line displayed on diagnostic tab when in regression test mode.
    • Detection of StarDock Window Blinds so that it can be safely ignored.
    • Addition of Return Codes to command line documentation.

    Version 2.12
    Version 2.12 includes the following new functionality:

    • Maintenance release.

    Version 2.11
    Version 2.11 includes the following new functionality:

    • Bug fix for diagnostic tab when loading or switching sessions.
    • Bug fix for tutorial handling and tip of day.
    • Improved line timing display.

    Version 2.10
    Version 2.10 includes the following new functionality:

    • Bug fix for processor frequency adjustment when reading session on different computer to the computer the session was recorded.
    • Customer request: Configure Columns now includes a Reset button.
    • Customer request: Raw Statistics, statistics, Relations and File and Lines now include additional context menu item to auto size column widths.
    • Addition of Recursive Count to Call Tree, Call Graph and Analysis.
    • Addition of Recursive symbols to Analysis.
    • Addition of two new queries to Analysis: Recursing function and Recursing function depth.

    Version 2.09
    Version 2.09 includes the following new functionality:

    • UI modifications for launch dialog.
    • Bug fix for Global Hook UI DLLs.

    Version 2.08
    Version 2.08 includes the following new functionality:

    • Bug fix for refresh bug with source code display component.
    • Maintenance release.

    Version 2.06
    Version 2.07 includes the following new functionality:

    • Bug fix for failing to load MFC80(u)(d).DLL symbols.
    • Minor user interface changes.

    Version 2.06
    Version 2.06 includes the following new functionality:

    • Bug fix for export timestamp.
    • Bug fix for display filters and call graph user interface.
    • Bug fix for call graph export.
    • Bug fix for UI Global Hook intercept dialog.
    • Bug fix for DLL Hooking.

    Version 2.04
    Version 2.05 includes the following new functionality:

    • Resizable session compare dialog.
    • Bug fix for command line handling for call tree/call graph.

    Version 2.04
    Version 2.04 includes the following new functionality:

    • Bug fix for Find dialog on Analysis, Call Tree and Call Graph views.
    • Data display bug fix for call tree and call graph.

    Version 2.02
    Version 2.03 includes the following new functionality:

    • Maintenance release.

    Version 2.02
    Version 2.02 includes the following new functionality:

    • Addition of Call Graph Export.
    • Change to function of command line argument -exportAsHTML.
    • Addition command line arguments: -exportAsCallTreeHTML, -exportAsCallGraphHTML, -exportDescription, -exportThreshold.

    Version 2.00
    Version 2.01 includes the following new functionality:

    • Addition of Javascript to exported HTML to enable the the exported graph to be interactive.

    Version 2.00
    Version 2.00 includes the following new functionality:

    • Beta test complete. Full product release.

    Version 1.23
    Version 1.23 includes the following new functionality:

    • Bug fix for rare stack overflow bug whilst iterating performance data.

    Version 1.22
    Version 1.22 includes the following new functionality:

    • Registry data saving bug fix.

    Version 1.21
    Version 1.21 includes the following new functionality:

    • Addition of threshold facility to Call Graph tab.
    • Update to accomodated debug format change with Visual Studio 2005.

    Version 1.20
    Version 1.20 includes the following new functionality:

    • Bug fix for application specific instrumentation crash.
    • Bug fix for filters - context menu filtering now supports multiple selection.
    • Bug fix for possible crash whilst walking callstacks. Bug seen with a Delphi application.
    • Editable threshold value on Call Tree tab - you can now enter fractions if you desire.

    Version 1.19
    Version 1.19 includes the following new functionality:

    • Maintenance release.
    • Editor component maintenance updated.
    • Bug fix for Call Graph tab.

    Version 1.18
    Version 1.18 includes the following new functionality:

    • Addition of -- comment facility for -commandFile arguments.

    Version 1.17
    Version 1.17 includes the following new functionality:

    • Relations tab 'promote' behaviour change.
    • Bug fix for setting instrumentation filters from context menu - settings saved to registry immediately.

    Version 1.15
    Version 1.16 includes the following new functionality:

    • Automatic file association.
    • Bug fix for column order editing.
    • Misc tab of settings dialog updated to allow control over diagnostic disassembly of failed hooks.
    • Line timing information displays updated to include "----" visit count and line time for lines that could not be hooked.
    • Bug fix for whole program optimization code rearrangement interfering with line timing display.

    Version 1.14
    Version 1.15 includes the following new functionality:

    • Bug fix for load session on command line.
    • Bug fix for Reset launch history on launch application dialog.
    • Bug fix for thread detection on Windows 2000/Windows XP.

    Version 1.13
    Version 1.14 includes the following new functionality:

    • Editing options expanded to include Visual Studio.NET 2002, 2003, 2005, SCiTE editor.

    Version 1.12
    Version 1.13 includes the following new functionality:

    • Bug fix for Unicode environment variables.

    Version 1.12
    Version 1.12 includes the following new functionality:

    • Maintenance release.

    Version 1.11
    Version 1.11 includes the following new functionality:

    • Addition of controls on Raw Statistics, Statistics, Call Tree, Call Graph and Line Timing to switch from horizontal splitter to vertical splitter and vice versa.
    • Improved selection of fixed width fonts for use in source code viewing pane.
    • Bug fix for settings.

    Version 1.10
    Version 1.10 includes the following new functionality:

    • Command line improvements.
    • Improved help describing command line options.

    Version 1.09
    Version 1.09 includes the following new functionality:

    • New warnings for .NET applications on Launch dialog.

    Version 1.08
    Version 1.08 includes the following new functionality:

    • Removal of DLLs not to hook settings.
    • Improvement of Hooked DLLs settings to provide control over hooking and not hooking of DLLs.
    • Support for * wildcard for DLL specification on Hooked DLLs settings.
    • Addition of extra control on Hook Insertion settings.
    • Addition of new command line option -dllHookFile.

    Version 1.07
    Version 1.07 includes the following new functionality:

    • Implementation change: When no source code available, the editing pane displays "No Source".
    • Bug fix for session manager compare.
    • Help updated.

    Version 1.06
    Version 1.06 includes the following new functionality:

    • Option to prevent scrolling of first column on Raw Statistics, Statistics, Relations and File Line views.
    • Display colouring improvement for Raw Statistics, Statistics, Relations.
    • Injection feedback bug fix.

    Version 1.05
    Version 1.05 includes the following new functionality:

    • Addition of Average Function time column to Raw Statistics, Statistics and Relations views.
    • Bug fix for various incorrectly displayed statistics.
    • Addition of recursing symbols to Call Tree display.
    • Addition of recursing symbols to terminating recursions in Call Graph display.
    • Correction of statistics calculation and display on Call Tree and Call Graph displays.
    • Correct handling of setjmp/longjmp.

    Version 1.04
    Version 1.04 includes the following new functionality:

    • Help now supplied as HTML Help rather than WinHelp.

    Version 1.03
    Version 1.03 includes the following new functionality:

    • StatusBar update.
    • Addition of display filters to Raw Statistics, Statistics, Relations.
    • Addition of context menu items to Raw Statistics, Statistics, Relations.

    Version 1.02
    Version 1.02 includes the following new functionality:

    • StatusBar update.
    • Ctrl-Left click performs Go to graph node on Call Graph.
    • Bug fix for Goto graph node when destination node is part of collapsed parent node.
    • Addition of context menu items to Call Tree, Call Graph and Analysis for navigating from Call Graph to Call Tree, Analysis to Call Graph, Analysis to Call Tree, Call Tree to Call Graph, Node to Next Node, Node to Previous Node.
    • Change to icon display in Call Graph - icons now displayed in the tree, not the left margin.
    • Bug fix for Borland symbol handling crash.

    Version 1.01
    Version 1.01 includes the following new functionality:

    • Improvements to call graph.

    Version 1.00
    Version 1.00 includes the following new functionality:

    • New feature: Addition of Hotspot Call Graph to complement the Hotspot Call Tree.
    • Addition of Remove Entry functionality to allow pruning of the call tree and the call graph displays.
    • Addition of Find command on Tools menu and toolbar. The find functionality allows searching on the main user interfaces Raw Statistics, Statistics, Relations, Call Tree, Call Graph, Analysis and Line Times.

    Version 0.99
    Version 0.99 includes the following new functionality:

    • Bug fix for missing first item of performance data.
    • Misc bug fixes.

    Version 0.98
    Version 0.98 includes the following new functionality:

    • User interface improvement for Raw Statistics, Statistics, Relations and Line Times displays. A selected cell now highlights the whole line to make identifying the line when scrolling the display much easier.
    • Bug fix for loading and saving line timing information.

    Version 0.97
    Version 0.97 includes the following new functionality:

    • Archiving version update.
    • Bug fix for display diacritical characters and characters above 127.

    Version 0.96
    Version 0.96 includes the following new functionality:

    • Instrumentation bug fix for hooking code containing computed unconditional jmp instructions.

    Version 0.95
    Version 0.95 includes the following new functionality:

    • UI improvement for DLLs to Hook settings dialog.
    • Bug fix for settings load/save.
    • Files not to hook - can now filter by directory.
    • HTML Export and XML Export - can now export multiple files at once.
    • Class and Function filter - has symbol browser.
    • New context menu filters on all views for Filename, Directory and DLL.
    • Filtering bug fixes.

    Version 0.94
    Version 0.94 includes the following new functionality:

    • Bug fix for failing to instrument a DLL that has been filtered.

    Version 0.93
    Version 0.93 includes the following new functionality:

    • Class and function filter settings improvement.
    • Filtering capabilities added to the Context menu on all views.
    • Bug fix: Callstack window redrawn when session is completed.

    Version 0.92
    Version 0.92 includes the following new functionality:

    • Injection feedback speedup.
    • Bug fix for race-condition crash.

    Version 0.91
    Version 0.91 includes the following new functionality:

    • Time data now displayed in milliseconds rather than QueryPerformanceCounter and RDTSC processor cycle counts.
    • Time data can be displayed as HH:MM:SS:mmm.uu

    Version 0.90
    Version 0.90 includes the following new functionality:

    • Misc user interface bug fixes.

    Version 0.89
    Version 0.89 includes the following new functionality:

    • Bug fix for uninitialised data.

    Version 0.88
    Version 0.88 includes the following new functionality:

    • User Interface improvement - numbers formatted according to user's choice of locale.

    Version 0.87
    Version 0.87 includes the following new functionality:

    • Display of data bug fixes.
    • Bug fix register corruption in hook.

    Version 0.86
    Version 0.86 includes the following new functionality:

    • Bug fix for editor.

    Version 0.85
    Version 0.85 includes the following new functionality:

    • Licensing bug fix - only affects beta versions.

    Version 0.84
    Version 0.84 includes the following new functionality:

    • Bug fix for registry access.

    Version 0.83
    Version 0.83 includes the following new functionality:

    • Bug fix installer.
    • Bug fix for licensing.
    • Bug fix for callstacks walking on Windows XP, SP2.
    • Removal of SE_SECURITY_NAME privilege requirement for working with services.
    • Updated help.

    Version 0.82
    Version 0.82 includes the following new functionality:

    • Session comparison reimplemented.
    • Session comparison export reimplemented.

    Version 0.81
    Version 0.81 includes the following new functionality:

    • Improved session comparison functionality.
    • Bug fix for session loading.

    Version 0.80
    Version 0.80 includes the following new functionality:

    • Changed injection feedback mechanism to improve hooking.
    • Improved error reporting during hooking.
    • Fixed flashing callstack display on Windows XP.

    Version 0.79
    Version 0.79 includes the following new functionality:

    • Help update.
    • Context menu on tooltip support.
    • Bug fix for relations tab.
    • Grid/Tree control expand entry/collapse entry bug fix.
    • Various misc bug fixes.

    Version 0.78
    Version 0.78 includes the following new functionality:

    • Addition of User Privilege checks when accessing the Registry and setting debugging privileges.

    Version 0.77
    Version 0.77 includes the following new functionality:

    • Keyboard Accelerators.
    • Line timing now obey performance collectors.

    Version 0.76
    Version 0.76 includes the following new functionality:

    • Misc bug fixes.
    • RDTSC and Performance Counters timing improvement.

    Version 0.75
    Version 0.75 includes the following new functionality:

    • Uninitialized data bug fix for columns editing for multiple views.

    Version 0.74
    Version 0.74 includes the following new functionality:

    • Bug fix for Don't hook DLLs settings.
    • Bug fix for Source File Types settings.

    Version 0.73
    Version 0.73 includes the following new functionality:

    • Exported HTML files and Exported XML files support left/right alignment and comma separators, as defined in the data display section of the settings dialog.
    • Bug fixes for various column sorting and display issues.

    Version 0.72
    Version 0.72 includes the following new functionality:

    • Clipboard handling bug fix.

    Version 0.71
    Version 0.71 includes the following new functionality:

    • Support for multiple invocations of Performance Validator running at once.
    • Launch Dialog and Launch Wizard provide environment variable support.

    Version 0.70
    Version 0.70 includes the following new functionality:

    • Robustness improvements regarding lock acquisition.
    • Virtual tree control font bug fix.

    Version 0.69
    Version 0.69 includes the following new functionality:

    • Virtual grid/tree control graphics bug fix.

    Version 0.68
    Version 0.68 includes the following new functionality:

    • Bug fix for load and save settings.
    • Bug fix for editing various settings.

    Version 0.67
    Version 0.67 includes the following new functionality:

    • Maintenance release.

    Version 0.66
    Version 0.66 includes the following new functionality:

    • Column width saving/restoring improvement.
    • Bug fix for rare INVALID_HANDLE_EXCEPTION crash.

    Version 0.65
    Version 0.65 includes the following new functionality:

    • Bug fix for missing symbols when in sampling mode and sampling programs with very short execution times.
    • Addition of user confirmation of overwriting export HTML/XML files.
    • Addition of Analysis submenu and Relations option to context menus of all major user interfaces. The Analysis submenu provides pre-formed queries for use on the Analysis tab. The Relations option displays all related (parent/child) data for the selected data item.

    Version 0.64
    Version 0.64 includes the following new functionality:

    • Misc UI bug fixes.

    Version 0.63
    Version 0.63 includes the following new functionality:

    • New Feature: Global Hook DLL Detector.

    Version 0.62
    Version 0.62 includes the following new functionality:

    • Bug fix for Memory mapped file when line timing a large number of lines (Greater than 100,000).
    • User interface bug fix when deleting session.
    • Symbols bug fix.

    Version 0.61
    Version 0.61 includes the following new functionality:

    • Hook insertion optimization.
    • Bug fix for export session dialog.
    • Bug fix for cumulative time display for functions on line timing view.
    • Bug fix for filtering functions based on file location.
    • Bug fix for class::method/function instrumentation filter - now works with functions as well as lines.
    • Performance improvement: MAP files can be used to hook functions even without line number information.

    Version 0.60
    Version 0.60 includes the following new functionality:

    • Refinement of multi-select file open dialogs.
    • Configurable embedded statistics in source code view.

    Version 0.59
    Version 0.59 includes the following new functionality:

    • Multi-select file open dialog on various hook settings dialog tabs.

    Version 0.57
    Version 0.58 includes the following new functionality:

    • Bug fix: Hook Insertion tab did not correctly control hooking of statically linked CRT/MFC.
    • Misc Bug fixes.

    Version 0.56
    Version 0.57 includes the following new functionality:

    • Bug fix in stub for hooking during shutdown.
    • Misc bug fixes.

    Version 0.56
    Version 0.56 includes the following new functionality:

    • Bug fix for handle leak when in sampling mode.
    • New Callstack user interface to display selected thread's callstack. Very useful for quickly determining where all the time in a busy loop is going without needing to look at the other query interfaces such as Relations or Hotspots. This user interface is experimental and may be dropped if user reaction is not favourable.
    • Support for thread-naming via RaiseException, so that threads on the Callstacks user interface can be named.

    Version 0.55
    Version 0.55 includes the following new functionality:

    • Addition of back button to Relations tab to allow previous queries to be revisited.

    Version 0.54
    Version 0.54 includes the following new functionality:

    • Serialization bug fix.

    Version 0.53
    Version 0.53 includes the following new functionality:

    • Various "sample count" combo box/column header bug fixes.
    • Hotspot/File and Line expand/collapse bug fix.

    Version 0.52
    Version 0.52 includes the following new functionality:

    • Crash bug fix.
    • Bug fix for potential deadlock in PV during shutdown of application under test.
    • Colour editing bug fix.
    • Context menu alignment bug fix.

    Version 0.51
    Version 0.51 includes the following new functionality:

    • Bug fix for file handling for FORTRAN95.

    Version 0.50
    Version 0.50 includes the following new functionality:

    • Bug fix for displaying class and method names for classA::classB::methodC style classes.
    • Bug fix for broken launch dialog resource.

    Version 0.49
    Version 0.49 includes the following new functionality:

    • Bug fix for bad software merge.

    Version 0.48
    Version 0.48 includes the following new functionality:

    • New user interface settings for "Sampling" mode.
    • Bug fix for hotspots tab for "Sampling" mode.

    Version 0.47
    Version 0.47 includes the following new functionality:

    • Bug fix: Symbol resolution for Salford Software's FORTRAN 95.
    • Bug fix: Improved Borland C++ Builder and Borland Delphi symbol support.

    Version 0.46
    Version 0.46 includes the following new functionality:

    • More data collection bug fixes.

    Version 0.45
    Version 0.45 includes the following new functionality:

    • Data collection bug fixes.

    Version 0.44
    Version 0.44 includes the following new functionality:

    • Crash bug fix: Memory mapped file race condition bug fix.

    Version 0.43
    Version 0.43 includes the following new functionality:

    • Synchronization error bug fixes.
    • Improved support for Borland C++ Builder and Borland Delphi.

    Version 0.42
    Version 0.42 includes the following new functionality:

    • Support for Borland C++ Builder and command line compiler.
    • Support for Metrowerks C++ compiler.
    • Support for Borland Delphi.
    • Support for Salford Software's FORTRAN95.

    Version 0.41
    Version 0.41 includes the following new functionality:

    • Maintenance update. Misc bug fixes.

    Version 0.40
    Version 0.40 includes the following new functionality:

    • Mouse wheel support for editing component.

    Version 0.39
    Version 0.39 includes the following new functionality:

    • Improvement for symbol handling.
    • Editor component bug fix.

    Version 0.38
    Version 0.38 includes the following new functionality:

    • Enhanced editor component - embedded text can be aligned left or right.

    Version 0.37
    Version 0.37 includes the following new functionality:

    • Redraw bug fixes for enhanced editor component.

    Version 0.36
    Version 0.36 includes the following new functionality:

    • Feature change (user feedback): Raw Statistics, Statistics, Relations column width configuration can now be propogated to all other tabs automatically.
    • Feature change (user feedback): Data display can now include optional comma separators.
    • Data display can be left or right aligned (right align is useful when using commas).
    • Improvement to File and Line display.
    • Bug fix for drawing error on File and Line display when horizontally scrolled.
    • Improvement to timing calculations.
    • Source code display now includes visit count and time information.
    • New Data Display tab on settings dialog.
    • Updated help file.

    Version 0.35
    Version 0.35 includes the following new functionality:

    • Bug fix for code rewriting hooks.
    • Bug fix for crash if editing definitions damaged in registry.

    Version 0.34
    Version 0.34 includes the following new functionality:

    • Ability to cache instrumention data for function hooking.
    • Ability to cache instrumention data for line hooking.
    • Minor change to launch dialog in "dialog" user interface mode.
    • Bug fix for use with services.
    • Updated help file.

    Version 0.33
    Version 0.33 includes the following new functionality:

    • Feature change: Top pane on Relations tab now sorts based on column headers as well as combo box.
    • Bug fix for sorting on middle pane and bottom pane on Relations tab.

    Version 0.32
    Version 0.32 includes the following new functionality:

    • Bug fix for stack overflow when recursively calculating hotspots.
    • Improved support for services.

    Version 0.31
    Version 0.31 includes the following new functionality:

    • Bug fix for high speed callstack walk implementation when working with IIS and other highly multithreaded applications.

    Version 0.30
    Version 0.30 includes the following new functionality:

    • Faster callstack walking for improved "sampling" performance mode.
    • Addition of custom editor specification.
    • Bug fixes to instrumentation code.
    • New toolbar icons.
    • Updated help manual.

    Version 0.28
    Version 0.29 includes the following new functionality:

    • Bug fix for user interface crash.
    • Faster callstack collection for sampling mode.
    • Quoted arguments support on command line.

    Version 0.28
    Version 0.28 includes the following new functionality:

    • New feature: Double click on any entry on any tab will cause the selected entry to be displayed on the Relations tab with callering functions and called functions displayed..

    Version 0.27
    Version 0.27 includes the following new functionality:

    • Bug fix: Raw Statistics View. Clicking on first entry (when unsorted) would not display source code.
    • Bug fix: Statistics View. Clicking on first entry (when unsorted) would not display source code.
    • Bug fix: Relations View. Clicking on first entry (when unsorted) would not display source code.
    • Tooltips for the header row on all grid controls disabled, to allow easier resizing of columns.

    Version 0.26
    Version 0.26 includes the following new functionality:

    • Bug fix for symbol handling.

    Version 0.25
    Version 0.25 includes the following new functionality:

    • Bug fix for stack overflow when calculating hotspots on Hotspot and/or Analysis View. New implementation is iterative and cannot exhaust stack space.

    Version 0.24
    Version 0.24 includes the following new functionality:

    • Bug fix for hooking DLLs.

    Version 0.23
    Version 0.23 includes the following new functionality:

    • Maintenance build.

    Version 0.22
    Version 0.22 includes the following new functionality:

    • Bug fix:Map file only used when the date matches the DLL.

    Version 0.21
    Version 0.21 includes the following new functionality:

    • Performance improvement for tree control.
    • Improved function and line hooking algorithms.

    Version 0.20
    Version 0.20 includes the following new functionality:

    • Bugfix for hooking using MAP files to provide symbols.

    Version 0.19
    Version 0.19 includes the following new functionality:

    • Improvement to line timing algorithm.

    Version 0.18
    Version 0.18 includes the following new functionality:

    • Addition code for pvLicense.exe and Performance Validator to cope with Windows File Protection preventing the upgrade of DBGHELP.DLL to a more recent version than the default installed for Windows 2000.

    Version 0.17
    Version 0.17 includes the following new functionality:

    • Addition of reset statistics button on toolbar (and menu). This buttons resets all times and visit counts to zero. Added due to beta test feedback.
    • Potential deadlock during hooking algorithms, prevented.
    • Improved detection of functions in code sections. Previous algorithm had the potential to incorrectly identify data in code blocks as code. New algorithm use new PDB API to correctly identify functions.

    Version 0.16
    Version 0.16 includes the following new functionality:

    • Version V0.15 included an overzealous check for function jmps which prevented many functions from being hooked. V0.16 fixes this check.
    • Improved disassembly of functions.
    • Improved reporting of functions with no code, just return instructions.

    Version 0.15
    Version 0.15 includes the following new functionality:

    • Improved Line Timing display - shortest time of not visited lines now displayed as zero.
    • Improved Line Timing - line times now assigned to correct line (previously line was assigned the time for the previously executed line - which could be very misleading).
    • Class and Function filter for line timing now works correctly. You can now provide line timings on a per function, per class method or per class basis.
    • Hooked Source Files tab on setting dialog allows you to specify source files that should not be hooked or that should be hooked, allowing you to exclude parts of your application or to concentrate on parts of your application. This allows you to provide function and line timing on a per file basis. Be aware that if the class and function filter is setup at the same time you may end up filtering out all files/functions and no data will be collected at all - it is up to you to choose the appropriate settings for your application.
    • Misc deadlock avoidance improvements.
    • Display of data limited by threshold on Hotspots tab improved.
    • Improved editing of columns on all displays.

    Version 0.14
    Version 0.14 includes the following new functionality:

    • Bug fix for function re-writing hooks.
    • Bug fix for function hooking and line hooking. Both options can be enabled simultaneously without crashing the target application.

    Version 0.13
    Version 0.13 includes the following new functionality:

    • More Robustness improvement for function and line hooking.

    Version 0.12
    Version 0.12 includes the following new functionality:

    • Robustness improvement for function and line hooking.

    Version 0.11

    Version 0.11 has the following improvements and changes.

    • New Relations tab, displaying time consuming (or most visited) functions, their child functions and their parent functions.
    • New Line Timing tab, displaying times for individual lines.
    • New settings tabs to control line timing hooks.
    • New dialogs for launch, inject, wait (for both wizard and dialog modes)

    Version 0.10

    Version 0.10 has the following improvements and changes.

    • wWinMainCRTStartup or equivalent is now correctly hooked when attaching via CreateProcess(). This results in the majority of hotspots beign grouped under the main worker thread. All other hotspots are grouped per thread. DLL loads appear as separate hotspots at present.
    • Cursor right, cursor left and return key can now be used to expand, collapse and toggle the expand state on the hotspots and analysis tree controls.

    Version 0.09

    Version 0.09 has the following improvements and changes.

    • Statistics tab renamed Raw Statistics.
    • New Statistics tab that displays collated statistics from the raw statistics.
    • Changed default colours for hotspot graphs to improve readability.
    • New column, Class::Method.
    • Can sort columns by clicking on column headers.
    • Columns can be autosized by clicking close to the right hand edge of the column.
    • Column widths are stored between session.

    Version 0.08

    Version 0.08 has the following improvements and changes.

    • Bug fix for the global hook rejection filter on LoadLibrary(Ex). For the cases where the filter prevented the loading of a DLL, it was possible for some registers to be corrupted, resulting in unpredictable application behaviour.
    • Bug fix for multiple hooking methods with the same name in different DLLs ("operator new" is an example).
    • The hooking method for all functions for performance monitoring has been improved, and now handles exceptions correctly.

    Version 0.07
    Version 0.07 includes the following new functionality:

    • Extra error reporting relating to symbol tracking on diagnostic tab.
    • Bug fix for "automatically add to PDB search path". Paths are reset to match the file settings dialog/wizard prior to launching/injecting/waiting on an application. Paths are then rediscovered. This means that for situations where you have multiple versions of the same DLL in your development environment, the correct paths to your PDBs are used, rather than paths to PDBs in potentially other directories on your system than the particular DLL in use at the time.
    • Internal minor bug fixes.

    Version 0.06

    Version 0.06 has the following improvements and changes.

    • Robustness improvement for boundary condition on memory mapped file.

    Version 0.05

    Version 0.05 has the following improvements and changes.

    • Performance improvement for virtual scrolled tree when deleting all rows.
    • C++ names now demangled.
    • Directory of files found using file open dialog are added to the source code locations searched for source files.
    • Crash profiling apps when exceed the number of performance graph nodes fixed.

    Version 0.04

    Version 0.04 has the following improvements and changes.

    • Fixed editing component bug.
    • Misc. internal improvements.

    Version 0.03

    Version 0.03 has the following improvements and changes.

    • Fixed function hooker bug which meant that for some apps/modules no functions would be hooked.
    • Fixed structured exception handling bug which meant that if your application threw an exception, the profiling hooks would prevent the exception from being handled correctly.
    • Fixed various statistics display bugs.

    Version 0.02

    Version 0.02 has the following improvements and changes.

    • Improved handling of version.dll.
    • Internal bug fixes for tracking data.

    Version 0.01

    Initial beta version of Performance Validator made available to selected beta testers. We would like your feedback on any bugs you may find, on the features and benefits of the software, and also feedback on features that you think are missing from the software but which you would find useful.

    NT Service support is still under development. You can link to the NT Services Performance Validator support DLLs but don't expect Performance information to be displayed for services.

    Help topic IDs are currently not correct.

    Please provide us with feedback.

    Regards.

    Software Verify Performance Validator Team.

    Fully functional, free for 30 days