Thread Validator - Change History

Thread Validator x86 Change History

Thread Validator x86 Change History

Version 5.98, 09 March 2024
Version 5.98 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 5.97, 08 February 2024
Version 5.97 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.
  • 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 5.96, 01 February 2024
Version 5.96 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 rare crash caused by data race when stopping/starting a session.
  • Upgraded Launch menu to have a similar appearance to Coverage Validator, Memory Validator and Performance Validator.
  • Bug fix for potential crash if NULL passed to Software Verify internal heap allocator.

Version 5.96, 20 January 2024
Version 5.96 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 rare crash caused by data race when stopping/starting a session.

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

  • Thread deadlock postmorten dialog improvement. Addition of Collapse All and Expand All buttons.
  • Improved hooking for SetUnhandledExceptionFilter() by monitoring KernelBase.dll as well as kernel32.dll and api-ms-win-core-*.dll.

Version 5.94, 11 December 2023
Version 5.94 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.

Version 5.93, 04 December 2023
Version 5.93 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 5.92, 02 December 2023
Version 5.92 includes the following functionality:

  • Re-release 5.92 to fix the failure with the software release process for 5.92.
  • 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 5.91, 28 November 2023
Version 5.91 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 Thread 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 5.90, 21 November 2023
Version 5.90 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 5.89, 15 November 2023
Version 5.89 includes the following functionality:

  • Misc bug fixes.

Version 5.88, 07 November 2023
Version 5.88 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.
  • Launch dialog has been made resizable, like the other Validator tools.
  • Change to Thread Validator service API. svlTVStub_writeToLogFileA() writes ANSI strings as Unicode strings (previously they were written as ANSI).
  • Change to Thread Validator service API. svlTVStub_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 5.87, 19 October 2023
Version 5.87 includes the following functionality:

  • Added API function loadValidatorIntoApplication(); which can be used to start Thread 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.
  • UX improvement for Lock Order displays, the sequence counter now indicates same thread and deadlock status.
  • Status indicator on Summary display to indicate if child processes have been launched, plus link to Diagnostics:Child Processes.
  • 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.
  • Additional hooks for CreateSemaphoreExA, CreateSemaphoreExW, CreateWaitableTimerExA, CreateWaitableTimerExW, CreateEventExA, CreateEventExW, CreateMutexExA, CreateMutexExW, SetWaitableTimerEx, CreateFile2, CreateFileMappingFromApp, CreateFileMappingNumaW, CreateFileMappingA, CreateFileMappingW, CreateFileMapping2.
  • 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 5.86, 06 October 2023
Version 5.86 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 Thread 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 5.85, 27 September 2023
Version 5.85 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 5.84, 14 September 2023
Version 5.84 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 5.83, 29 August 2023
Version 5.83 includes the following functionality:

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

Version 5.82, 25 August 2023
Version 5.82 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.
  • symsrv.dll load errors reported on the main summary view.
  • 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 5.81, 14 August 2023
Version 5.81 includes the following functionality:

  • 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 5.80, 01 August 2023
Version 5.80 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 5.79, 27 July 2023
Version 5.79 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 5.78, 14 July 2023
Version 5.78 includes the following functionality:

  • .Net runtime and .Net framework detection improved - to prevent/ensure correct hooks are installed, depending on options chosen.

Version 5.77, 10 July 2023
Version 5.77 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 5.76, 06 June 2023
Version 5.76 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 5.75, 05 June 2023
Version 5.75 includes the following functionality:

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

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

  • Improved detection of .Net execution engine for .Net and .Net Core.
  • Bug fixes for monitor child process.
  • Bug fixes for example applications.
  • Bug fixes for fetching symbols from symbol servers.

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

  • UX improvement: The behaviour of Thread Validator in admin mode more closely matches behaviour in non-admin mode.
  • Misc bug fixes.

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

  • Improved Thread Validator DLL deployment for IIS/ISAPI.
  • Improved IIS/ISAPI 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 profilter 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 5.71, 25 April 2023
Version 5.71 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.
  • 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 5.70, 13 April 2023
Version 5.70 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.
  • Bug fix for setting environment variables for monitoring .Net applications.
  • Misc bug fixes.

Version 5.69, 04 April 2023
Version 5.69 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 5.68, 17 March 2023
Version 5.68 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 5.67, 10 March 2023
Version 5.67 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 callstack symbol results for Delphi (x86 and x64) and C++ Builder x86 applications.

Version 5.66, 09 March 2023
Version 5.66 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 5.65, 17 February 2023
Version 5.65 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 5.64, 07 February 2023
Version 5.64 includes the following functionality:

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

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

  • Bug fix for Stub Global Hook detection.
  • Wait Chains: Waited COM objects are displayed as CLSID and the human readable name for this COM object.

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

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

  • Misc bug fixes.
  • Updated UX Theme.

Version 5.60, 31 October 2022
Version 5.60 includes the following functionality:

  • Floating licencing bug fix.
  • 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 5.59, 22 October 2022
Version 5.59 includes the following functionality:

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

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

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

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

  • Bug fix for Thread Coverage.
  • 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 Thread Validator.

Version 5.56, 09 August 2022
Version 5.56 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.

Version 5.55, 20 July 2022
Version 5.55 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 5.54, 08 July 2022
Version 5.54 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 symbol fetching.

Version 5.53, 24 June 2022
Version 5.53 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 5.52, 20 June 2022
Version 5.52 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.
  • Additional logging added to NT Service API.
  • New NT Service API call: svlTVStub_ShutdownThreadValidator()
  • 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 5.51, 06 June 2022
Version 5.51 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 5.50, 31 May 2022
Version 5.50 includes the following functionality:

  • Bug fix PDB symbol reader.
  • Various static analysis bug fixes.

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

  • Bug fix for Hooked DLLs.
  • Bug fixes for licence server.
  • Bug fixes for incorrect test with FindFirstFile().
  • 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.
  • Performance improvement (detected with Performance Validator).
  • Reliability improvement for memory mapped data transport when other end of the data comms dies unexpectedly.

Version 5.48, 26 April 2022
Version 5.48 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 5.47, 07 April 2022
Version 5.47 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 5.46, 30 March 2022
Version 5.46 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 5.45, 27 March 2022
Version 5.45 includes the following functionality:

  • Addition of Command Line Builder to help you create command lines to invoke Thread 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 5.44, 22 February 2022
Version 5.44 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 Thread Validator env vars, target application env vars, and any errors substituting env vars in strings, allowing you to debug env var usage inside Thread 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 5.43, 08 February 2022
Version 5.43 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.
  • Addition of "Lock Callstacks" to first run wizard.
  • 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 Thread 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 5.42, 07 February 2022
Version 5.42 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 5.41, 28 January 2022
Version 5.41 includes the following functionality:

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

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

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

Version 5.39, 10 January 2022
Version 5.39 includes the following functionality:

  • Bug fix for loading / saving sessions. Sorry this is not backwards compatible, but saved sessions now save a lot more information, resulting in a lot better data when you load it later.
  • Bug fix for stack walking logic, sometimes it would fail to collect a callstack due to an incorrect length calculation.
  • Source code discovery (for CRT/Visual Studio supplied files) improved. We can now show you source code for the CRT/Visual Studio parts of your callstack that are not your code.

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

  • Additional checks for Address Sanitizer. Now checks the PE file exports and the symbols.
  • Updated FORTRAN keyword colouring rules to include FORTRAN 2003, 2008.
  • 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.
  • Bug fix for potential crash on Analysis Query tab when using the Find... function.

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

  • Addition of incompatibility check for Address Sanitizer usage when launching an application.
  • Bug fix for potential crash (race condition) on diagnostic child process view.
  • Update to the svlTVStubService 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 5.36, 18 November 2021
Version 5.36 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 Thread Validator will change the display to a predefined display. Default value is Summary display. You can change this value from the settings dialog "Display Behaviour".
  • When a session finishes Thread 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".
  • Bug fix for potential crash when loading a session.

Version 5.35, 15 November 2021
Version 5.35 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 5.34, 09 November 2021
Version 5.34 includes the following functionality:

  • 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 5.33, 01 November 2021
Version 5.33 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.
  • Better MAP file symbol handling for Delphi and C++ Builder.

Version 5.32, 26 October 2021
Version 5.32 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 5.31, 19 October 2021
Version 5.31 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 5.30, 14 October 2021
Version 5.30 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 5.29, 04 October 2021
Version 5.29 includes the following functionality:

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

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

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

Version 5.27, 24 August 2021
Version 5.27 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 5.26, 20 August 2021
Version 5.26 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 5.25, 12 August 2021
Version 5.25 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.
  • Improved data displays.
  • Support for WaitOnAddress().

Version 5.24, 02 August 2021
Version 5.24 includes the following functionality:

  • Bug fix for incorrect Delphi/C++ Builder line numbers.
  • 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 5.23, 20 July 2021
Version 5.23 includes the following functionality:

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

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

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

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

  • Updated Application to Monitor dialogs.
  • New command line options: -programToMonitorEXE, -programToMonitorDLL, -waitNameEXE, -waitNameDLL

Version 5.20, 19 June 2021
Version 5.20 includes the following functionality:

  • Maintenance release.

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

  • Bug fix for monitoring process launched from another process.

Version 5.18, 09 June 2021
Version 5.18 includes the following functionality:

  • Bug fixes for Monitor a service data collection.

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

  • Maintenance release. Misc bug fixes.

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

  • Updated installer.
  • Misc bug fixes.

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

  • Improved C++ parser.

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

  • Miscellaneous bug fixes and performance improvements.

Version 5.13, 08 April 2021
Version 5.13 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 5.12, 07 April 2021
Version 5.12 includes the following functionality:

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

Version 5.11, 31 March 2021
Version 5.11 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 5.10, 10 March 2021
Version 5.10 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.
  • Wait Chain View: Bug fix for thread naming and thread sorting by name.
  • Bug fix for Callstacks dialog.
  • Bug fix for Thread Coverage when data collection turned off.
  • Bug fix for Thread Coverage duplicate filenames.
  • Improved Map File reading speed.

Version 5.09, 01 March 2021
Version 5.09 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.
  • Addition of CPU Cycles column to the Wait Chain view. This allows you to see if the thread is getting any CPU when the CPU % column is too low to register.
  • Improved error messages for when inject into running process fails and the target is running as admin but Thread Validator is not running as admin.
  • Wait for process no longer needs Thread Validator to run as admin.

Version 5.08, 08 February 2021
Version 5.08 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 5.07, 04 February 2021
Version 5.07 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 5.06, 29 January 2021
Version 5.06 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 5.05, 05 January 2021
Version 5.05 includes the following functionality:

  • Updated High Contrast theme colours.

Version 5.04, 29 December 2020
Version 5.04 includes the following functionality:

  • Toolhelp snapshot improvements.
  • Addition of UX theme selector on Settings menu. You can choose from Modern, Classic and High Contrast.

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

  • New Software Verify UX Theme. Easier to use. Calmer to look at. New icons.
  • Updated documentation.

Version 5.02, 15 November 2020
Version 5.02 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.01, 12 November 2020
Version 5.01 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.00, 09 November 2020
Version 5.00 includes the following functionality:

  • Bug fix for environment variable merging on launch dialog.

Version 4.99, 26 October 2020
Version 4.99 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 V4.98. Sorry!
  • Version 4.98, 20 October 2020
    Version 4.98 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 4.97, 07 October 2020
    Version 4.97 includes the following functionality:

    • Added a context menu to the Wait Chain view.
    • Fixed a crash that can happen when you close a target application and the Wait Chain view has focus.
    • Improved error handling dialogs for licence details dialog.
    • Misc improvements.

    Version 4.96, 30 September 2020
    Version 4.96 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 4.95, 21 September 2020
    Version 4.95 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 4.94, 18 September 2020
    Version 4.94 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 4.93, 01 September 2020
    Version 4.93 includes the following functionality:

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

    Version 4.92, 22 August 2020
    Version 4.92 includes the following functionality:

    • Bug fix for unresponsive GUI when monitoring an application with lots of threads. We tested this fix with a 500 thread application!
    • Bug fixes for Wait Chain user interface.
    • This is a recommended download.

    Version 4.91, 18 August 2020
    Version 4.91 includes the following functionality:

    • Bug fix for potential underrun heap corruption when profiling target application.

    Version 4.90, 14 August 2020
    Version 4.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 4.89, 19 June 2020
    Version 4.89 includes the following functionality:

    • Source code displayed in trees is now displayed in monospaced font with highlighting.

    Version 4.88, 08 June 2020
    Version 4.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.
    • The Locks tab has been renamed All Locks.
    • The Per Thread Locks tab has been renamed Locks Per Thread.
    • The Current Locks tab has been renamed Active Locks.
    • All three of the above tabs have been moved to their own Locks tab.
    • The Analysis tab has been renamed Query.
    • The Objects tab has been renamed Object Handles.
    • The Query, Coverage, Active Objects and Object Handles tabs have been moved to their own Analysis tab.
    • This re-arrangement of tabs provides a much cleaner UI for interacting with the thread analysis data.

    Version 4.87, 20 May 2020
    Version 4.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 4.86, 13 May 2020
    Version 4.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 4.85, 03 May 2020
    Version 4.85 includes the following functionality:

    • Bug fix for data race.
    • 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 4.84, 22 April 2020
    Version 4.84 includes the following functionality:

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

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

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

    Version 4.82, 28 March 2020
    Version 4.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 4.81, 20 March 2020
    Version 4.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 4.80, 10 March 2020
    Version 4.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 4.79, 02 March 2020
    Version 4.79 includes the following functionality:

    • Support for Delphi 10.3.

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

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

    Version 4.77, 30 January 2020
    Version 4.77 includes the following functionality:

    • 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 4.76, 20 January 2020
    Version 4.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 4.75, 02 January 2020
    Version 4.75 includes the following functionality:

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

    Version 4.74, 03 December 2019
    Version 4.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++ Thread Validator from the service. To work with services start with C++ Thread Validator user interface already open.

    Version 4.73, 25 November 2019
    Version 4.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.
    • UX fix - Summary display change from "Total locks sleeping" to "Threads sleeping".

    Version 4.72, 16 October 2019
    Version 4.72 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 4.71, 09 October 2019
    Version 4.71 includes the following functionality:

    • Maintenance release #2

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

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

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

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

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

    • Support for detecting abandoned critical sections - critical sections that are locked but then the thread exits or terminates while the critical section is locked.
    • Bug fix for potential deadlock during shutdown (due to abandoned critical section caused by thread race).

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

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

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

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

    Version 4.65, 30 July 2019
    Version 4.65 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.
    • Bug fix for possible deadlock caused by incorrect detection of bad CRITICAL_SECTION inside LeaveCriticalSection() hook.
    • This is a recommended download.

    Version 4.64, 20th July 2019
    Version 4.64 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 4.63, 11th July 2019
    Version 4.63 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.
    • Addition of number of threads sleeping count to Summary View.
    • Clicking on Slow Locks on Summary View will now take you to the Locks View sorted by Contention Ratio.
    • Addition of many new options on context menus of various lock related displays. These allow you to easily view callstacks for contended, recursing, busy and slow locks.
    • Addition of source code viewing pane on the Thread History Lock Order tab.
    • 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 4.62, 19th June 2019
    Version 4.62 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 4.61, 4th June 2019
    Version 4.61 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 4.60, 23rd May 2019
    Version 4.60 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).
    • Updated Watermark manager dialog.
    • Thread History recording now defaults to on.
    • Thread waitable handles defaults are now set to track handles.
    • Bug fix for Thread Coverage.
    • Symbols are now provided for callstacks inside ExitProcess() - you should see fewer cannot resolve symbols messages now.
    • Removal of Breakpoint on Exit functionality.
    • Addition of extra steps to ensure data sent from stub during target application shutdown - so that data is not missed.
    • Bug fix for flickering of all Windows (not just Thread Validator) when start a session or destroy a session.

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

    • Auto name threads - these names will be used unless you name the threads using Thread Naming Exceptions.
    • 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.
    • Bug fix for deadlock with Thread Coverage.

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

    • Support for Visual Studio 2019.
    • Bug fixes for C++ Parser.

    Version 4.57, 13th April 2019
    Version 4.57 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 4.56, 3rd April 2019
    Version 4.56 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 4.55, 30th March 2019
    Version 4.55 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 4.54, 21st March 2019
    Version 4.54 includes the following functionality:

    • Addition of dbgcore.dll to the list of known Microsoft debugging DLLs - stops incorrect warning about missing PDB file.

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

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

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

    • Changed installer to not require administrator rights.

    Version 4.51, 1st March 2019
    Version 4.51 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 svlTVStub_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 4.50, 22nd February 2019
    Version 4.50 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 4.49, 16th February 2019
    Version 4.49 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 4.48, 2nd February 2019
    Version 4.48 includes the following functionality:

    • Bug fixes from static analysis.

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

    • Minor performance improvements.

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

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

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

    • Improvement to how we detect leaving Critical Sections that haven't been entered.

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

    • Added a Module field to the Critical Section Information dialog.
    • More changes to error indication text on various threading displays - better error reporting.
    • Bug fix for unwanted tracing data.

    Version 4.43, 11th December 2018
    Version 4.43 includes the following functionality:

    • Changes to Error panel on Dashboard. Clicking a given error will now display related error data on the Analysis tab.
    • Bug fix for error count shown on Dashboard.
    • Change to error indication text on various threading displays - better error reporting.

    Version 4.42, 7th December 2018
    Version 4.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 4.41, 29th November 2018
    Version 4.41 includes the following functionality:

    • Subtle change to Summary view layout.
    • Minor changes to text.
    • Maintenance changes to various UI controls to improve functionality.

    Version 4.40, 14th November 2018
    Version 4.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 4.39, 6th November 2018
    Version 4.39 includes the following functionality:

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

    Version 4.38, 31st October 2018
    Version 4.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 4.37, 18th October 2018
    Version 4.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 4.36, 5th October 2018
    Version 4.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 4.35, 2nd October 2018
    Version 4.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 4.34, 28th September 2018
    Version 4.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 4.33, 22nd September 2018
    Version 4.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 Thread Validator title bar.

    Version 4.32, 4th September 2018
    Version 4.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 4.31, 16th August 2018
    Version 4.31 includes the following functionality:

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

    Version 4.30, 10th August 2018
    Version 4.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 4.29, 24th July 2018
    Version 4.29 includes the following functionality:

    • Small UX change.
    • 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 4.28, 18th July 2018
    Version 4.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 4.27, 12th July 2018
    Version 4.27 includes the following functionality:

    • Minor UX improvements.
    • Fixed a few more broken help topics.

    Version 4.26, 2nd July 2018
    Version 4.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 4.25, 7th June 2018
    Version 4.25 includes the following functionality:

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

    Version 4.24, 6th June 2018
    Version 4.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 4.23, 26th May 2018
    Version 4.23 includes the following functionality:

    • UX improvement for "DLL Dependency Warning" dialog.

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

    • Minor performance improvements. Maintenance release.

    Version 4.21, 11th May 2018
    Version 4.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 4.20, 17th April 2018
    Version 4.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 4.19, 11th April 2018
    Version 4.19 includes the following functionality:

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

    Version 4.18, 6th April 2018
    Version 4.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 4.17, 16th March 2018
    Version 4.17 includes the following functionality:

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

    Version 4.16, 9th March 2018
    Version 4.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 4.15, 7th March 2018
    Version 4.15 includes the following functionality:

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

    Version 4.14, 27th February 2018
    Version 4.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 4.13, 22nd February 2018
    Version 4.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++ Thread Validator.
    • Changes to reduce any flicker when Validator is started with the command line argument -hideUI.

    Version 4.12, 16th February 2018
    Version 4.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.
    • Added Hook Insertion setup to the Startup Settings Wizard.
    • Can now find the list of existing Critical Sections even if a symbol server is not setup.
    • Added Thread Names to more displays
    • Number of Named Threads shown on Summary Display

    Version 4.11, 3rd February 2018
    Version 4.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 4.10, 10th January 2018
    Version 4.10 includes the following functionality:

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

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

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

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

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

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

    • Maintenance release

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

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

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

    • Performance improvement for MAP file reading.

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

    • Multi-threading bug fix for process monitor.

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

    • Bug fix for global hook DLL detection.

    Version 4.02, 25th October 2017
    Version 4.02 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.

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

    • Improved error messages for software installer in the unlikely event the software updater fails for some reason.
    • Bug fix for STABS symbol demangling
    • Updated diagnostic messages.

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

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

    Version 3.99, 3rd August 2017
    Version 3.99 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.
    • Ability to detect synchronization functions not linked via Import Address Table.
    • 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 3.98, 16th June 2017
    Version 3.98 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 3.97, 13th June 2017
    Version 3.97 includes the following functionality:

    • Bug fix for stack walker. Very rare bug for anyone to encounter.
    • Improved memory protection checking for Critical Section walker.

    Version 3.96, 16th May 2017
    Version 3.96 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 3.95, 6th May 2017
    Version 3.95 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 3.94, 22nd April 2017
    Version 3.94 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 3.93, 31st March 2017
    Version 3.93 includes the following functionality:

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

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

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

    Version 3.91, 14th February 2017
    Version 3.91 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 3.90, 21st January 2017
    Version 3.90 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 3.89, 22nd December 2016
    Version 3.89 includes the following functionality:

    • Bug fix for hooking function epilogues.

    Version 3.88, 20th December 2016
    Version 3.88 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 3.87, 14th December 2016
    Version 3.87 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.

    Version 3.86, 5th December 2016
    Version 3.86 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 3.85, 3rd December 2016
    Version 3.85 includes the following functionality:

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

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

    • Various UX improvements when editing filenames and directories.

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

    • Instrumentation improvements.
    • Multi-threading security improvements.

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

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

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

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

    Version 3.80, 25th October 2016
    Version 3.80 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.

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

    • Bug fix for multi-threading error in symbol handling for V3.78.

    Version 3.78
    Version 3.78 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 3.77, 6th October 2016
    Version 3.77 includes the following functionality:

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

    Version 3.76, 2nd October 2016
    Version 3.76 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.

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

    • Some improvements to multi-threaded data integrity.

    Version 3.74, 19th September 2016
    Version 3.74 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 3.73, 1st September 2016
    Version 3.73 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.
    • Change to deadlock detection menu.
    • Some bug fixes to displays of wait times and wait time bar graphs on the various locks displays.

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

    • Instrumentation progress speedup.

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

    • Static analysis bug fix update.

    Version 3.70
    Version 3.70 includes the following functionality:

    • Some UX improvements.

    Version 3.69, 18th July 2016
    Version 3.69 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 3.68
    Version 3.68 includes the following functionality:

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

    Version 3.67, 21st June 2016
    Version 3.67 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 3.66, 11th June 2016
    Version 3.66 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.
    • Bug fix of <LOCATION> tag in XML export.

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

    • Bug fix for double click behaviour on various dialogs.
    • Bug fix for loading/saving of settings data.
    • Bug fix for session manager.
    • Bug fix for some context menu items.

    Version 3.64, 19th May 2016
    Version 3.64 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 3.63, 7th May 2016
    Version 3.63 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.
    • Bug fix for serialization crash.

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

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

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

    • Maintenance update.

    Version 3.60, 2nd April 2016
    Version 3.60 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 3.59, 17th March 2016
    Version 3.59 includes the following functionality:

    • Bug fix for Software Updates Installer.

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

    • Bug fix for potentiall deadlock in symbol handling code.

    Version 3.57, 29th February 2016
    Version 3.57 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 3.56, 16th February 2016
    Version 3.56 includes the following functionality:

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

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

    • Addition of command line option -showErrorsWithMessageBox that reports errors on stdout.
    • Addition of Sequence Column to the Locks View.
    • Addition of extra colour sequence markers in various interfaces.
    • Ability to view callstacks of recursing locks.
    • Ability to view callstacks or contended locks.
    • Bug fix for Show Callstacks varaints on context menus.
    • Bug fix for Lock Acquisition Dialog.
    • Minor bug fixes, maintenance release.

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

    • Filtering colour changes to improve user experience.

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

    • Maintenance release. Lots of minor bug fixes.

    Version 3.52
    Version 3.52 includes the following functionality:

    • Bug fix for menus.

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

    • Bug fix for inject dialog and inject wizard.
    • Bug fix for launch wizard.

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

    • Bug fix for running C++ Thread Validator from a service.
    • Bug fix for incorrectly classifying Windows patch DLLs.
    • Improvement to symbol handling.
    • Improvement to MAP file handling.

    Version 3.49, 21st November 2015
    Version 3.49 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.
    • Bug fix for TDS Symbol Reader when Validator DLL is not loaded from Validator install directory.
    • Bug fix for crash on Analysis tab.

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

    • Bug fix for serialization - you can't load a session that is already loaded in the session manager.

    Version 3.47, 19th October 2015
    Version 3.47 includes the following functionality:

    • Bug fix for Number of threads using locks on Summary panel.
    • Improvement to Waits time display on Summary panel - added fractions of ms to display.

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

    • New Summary panel to provide high level view of threading behaviour. Allow greater insights.
    • 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 3.45, 1st October 2015
    Version 3.45 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.
    • Addition of some thread coverage settings validation to prevent choosing settings that won't give good information.
    • Removal of Intermediate user interface mode.
    • Bug fix for potential crash with manifest handling.

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

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

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

    • Bug fix for error message.

    Version 3.42, 29th August 2015
    Version 3.42 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 3.41, 26th August 2015
    Version 3.41 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 3.40, 7th August 2015
    Version 3.40 includes the following functionality:

    • Maintenance update.

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

    • Support for Visual Studio 2015

    Version 3.38, 27th July 2015
    Version 3.38 includes the following functionality:

    • Changes to Inject dialog and Inject wizard to use same style and sizing as for all other Validator tools.
    • Addition of member variable name to Lock Aquisition Dialog and Thread History Lock Aquisition Tab.

    Version 3.37, 23rd July 2015
    Version 3.37 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.
    • Data overrun bug fix for callstack collection.

    Version 3.36, 14th July 2015
    Version 3.36 includes the following functionality:

    • Improved information displayed for CriticalSections.
    • Addition of new Thread Coverage display.
    • Removal of out-dated and cumbersome filtering model.
    • Non-backward compatible session file format change - Sorry! Had to be done.
    • Bug fix for data collection race condition.

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

    • Bug fix for UI Defeat Global hook.

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

    • 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.
    • Static analysis improvements.
    • Improvements to exception logging.
    • Improved UI defeat global hook implementation.

    Version 3.33, 11th June 2015
    Version 3.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.

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

    • Bug fix for symbol demangling for MingW.

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

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

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

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

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

    • Addition of background statistics graphs to all displays.
    • Addition of cursor key support for the Thread status history graph.
    • UX improvements.
    • Static analysis improvements.
    • Minor bug fixes.

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

    • Minor UX improvements.
    • Improvements to display of MBCS encoded (non-ANSI) files with no Byte Order Mark.

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

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

    Version 3.26, 24th March 2015
    Version 3.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 3.25, 18th March 2015
    Version 3.25 includes the following functionality:

    • Bug fix for floating licensing.

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

    • Bug fix for Windows 7 crash when hooking.

    Version 3.23, 7th March 2015
    Version 3.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 3.22, 18th February 2015
    Version 3.22 includes the following functionality:

    • Exception safety for disassembler.

    Version 3.21, 4th February 2015
    Version 3.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.
    • Improved the reporting of non-PDB symbols (TDS, STABS, COFF) on Diagnostic and Debug Information Dialog.

    Version 3.20, 28th January 2015
    Version 3.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.
    • Automatic provision of symbols for Microsoft DLLs linked with Ordinals when no PDB symbols availabile.
    • Automatic display of symbols missing information dialog the first time (for any session) when a callstack is displayed that has missing symbol information.
    • Bug fix for potential crash with copy to clipboard.
    • Improvement to Inject into Process dialog.

    Version 3.19, 5th January 2015
    Version 3.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.

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

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

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

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

    Version 3.16, 3rd October 2014
    Version 3.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 3.15, 11th September 2014
    Version 3.15 includes the following functionality:

    • Bug fix for software update installer.

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

    • Bug fix for reading/writing values to/from the registry.

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

    • Support for Visual Studio 2014 CTP

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

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

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

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

    Version 3.10, 7th July 2014
    Version 3.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 3.09, 20th June 2014
    Version 3.09 includes the following functionality:

    • Change to callstack walking method - fixes rare incorrect callstacks.
    • Bug fix for possible crash when reallocating memory (Inject dialog).

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

    • 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 3.07, 4th June 2014
    Version 3.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 3.06, 25th May 2014
    Version 3.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 3.05, 22nd March 2014
    Version 3.05 includes the following functionality:

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

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

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

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

    • Symbol handling bug fix.

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

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

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

    • Miscellaneous UX improvements.
    • Miscellaneous bug fixes.

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

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

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

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

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

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

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

    • Bug fix for code instrumentation disassembler.

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

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

    Version 2.36, 9th November 2013
    Version 2.36 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 2.35, 5th November 2013
    Version 2.35 includes the following functionality:

    • Changed application and Hooked DLLs bug fix and behaviour change.
    • Maintenance: Licensing code update. Code cleanup. Code removal.

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

    • Editor settings dialog bug fix.

    Version 2.33, 27th September 2013
    Version 2.33 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 2.32, 24th September 2013
    Version 2.32 includes the following functionality:

    • Bug fix for symbol handling.

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

    • Improved error reporting for failed Named Pipes.
    • Improved Symbol Server handling - now automatically quotes directories that include spaces.

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

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

    Version 2.29
    Version 2.29 includes the following functionality:

    • Bug fix for zero length callstacks.

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

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

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

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

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

    • Provisional support for Visual Studio 2013.

    Version 2.25, 25th June 2013
    Version 2.25 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 2.24, 6th June 2013
    Version 2.24 includes the following functionality:

    • Improved handling of DLL filtering.

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

    • Bug fix for crash in symbol handler.

    Version 2.22, 16th May 2013
    Version 2.22 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.
    • Bug fix for potential crash caused by race condition.

    Version 2.21, 8th May 2013
    Version 2.21 includes the following functionality:

    • Bug fix for lack of data displayed in Lock/Wait Information dialog.
    • Bug fix for potential crash during shutdown.

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

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

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

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

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

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

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

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

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

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

    Version 2.15
    Version 2.15 includes the following functionality:

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

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

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

    Version 2.13
    Version 2.13 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 2.12, 16th January 2013
    Version 2.12 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 UI feedback after loading settings or resettings settings from the settings dialog.
    • Change to tree control to remember it's expand/contract state between clicks.

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

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

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

    • Bug fix for buffer overrun.

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

    • New version of editing component, providing additional functionality.
    • New cleaner drawing style for tree/grid control.
    • Minor UX changes.
    • Minor bug fixes.

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

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

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

    • Bug fixes from static analysis.

    Version 2.06
    Version 2.06 includes the following functionality:

    • Bug fix for Analysis tab infinite loop.
    • Bug fixes from static analysis.

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

    • Bug fix for possible deadlock with Session Manager.
    • Bug fix for possible deadlock with Diagnostic View.

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

    • Bug fixes after static analysis work.

    Version 2.03, 14th September 2012
    Version 2.03 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 2.02, 14th August 2012
    Version 2.02 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 2.01, 29th July 2012
    Version 2.01 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 2.00
    Version 2.00 includes the following functionality:

    • Bug fix for critical section dialog.

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

    • Bug fix for strange characters in symbol names.
    • Bug fix for crash caused by incorrect indexing of callstack.

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

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

    Version 1.97, 11th May 2012
    Version 1.97 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.
    • Bug fix for launching progams from the command line with the -allArgs argument.

    Version 1.96, 2nd May 2012
    Version 1.96 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.

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

    • Bug fix for invalid handle crash in user interface.

    Version 1.94
    Version 1.94 includes the following functionality:

    • Bug fixes from static analysis with Visual Lint.

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

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

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

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

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

    • Bug fix for potential memory corruption.

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

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

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

    • XML output reformatted to improve readability and rendering.
    • Updated self-installer to handle additional security checks for some computer systems.

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

    • Addition of software update code.

    Version 1.87, 28th October 2011
    Version 1.87 includes the following functionality:

    • Maintenance release to fix a packaging problem in the previous release.

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

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

    Version 1.85
    Version 1.85 includes the following functionality:

    • Update for evaluations.

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

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

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

    • Bug fix for crash during shutdown.

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

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

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

    • Low data processing race condition bug fix.

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

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

    Version 1.79, 18th May 2011
    Version 1.79 includes the following functionality:

    • Bug fix for incorrect data display.
    • Bug fix for crash on Analysis tab when Find by filename after target program has crashed.

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

    • Bug fix for buffer overrun on session export dialog.

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

    • User interface redesign - new layout for most main panels, improved workflow, user experience.
    • Bug fix for crash with callstack manager when under load.
    • Bug fix for crash when searching on Global Filter Dialog.
    • Bug fix for stack walking.
    • Bug fix for deadlock postmortem data collection.
    • Misc other bug fixes.
    • Help update.

    Version 1.76
    Version 1.76 includes the following functionality:

    • Bug fix for find function dialog on Analysis tab.

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

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

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

    • Bug fix for NVidia OpenGL DLLs.
    • Bug fix for hang during shutdown when fetching symbols.
    • Bug fix for COMCTL32.DLL bitmap handling.

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

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

    Version 1.72, 16th March 2011
    Version 1.72 includes the following functionality:

    • Bug fix for saving sessions.
    • Improved COFF/STABS symbol handling.

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

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

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

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

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

    • Change of behaviour for symbol server dialog.

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

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

    Version 1.67, 29th December 2010
    Version 1.67 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 1.66, 3rd November 2010
    Version 1.66 includes the following functionality:

    • Rationalising code base. Maintenance release.

    Version 1.65, 22nd September 2010
    Version 1.65 includes the following functionality:

    • Bug fix for hang during shutdown caused by INFINITE wait on a pipe transaction.
    • Bug fix for DllMain() hooks.

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

    • Graphic flicker and drawing improvement for thread history view.
    • Bug fix for potential memory corruption.
    • Bug fix for crash on Active Objects tab.

    Version 1.63
    Version 1.63 includes the following functionality:

    • Bug fix for race condition in profiling component.
    • Misc bug fixes from 64 bit porting.

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

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

    Version 1.61, 4th June 2010
    Version 1.61 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 1.60, 24th May 2010
    Version 1.60 includes the following functionality:

    • Bug fix for MinGW -gstabs STABS debugging information reading.
    • Bug fix for callstack walking.

    Version 1.59, 24th May 2010
    Version 1.59 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 1.58, 25th March 2010
    Version 1.58 includes the following functionality:

    • 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 1.57, 2nd March 2010
    Version 1.57 includes the following functionality:

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

    Version 1.56, 18th February 2010
    Version 1.56 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 Hooked DLLs.

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

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

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

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

    Version 1.53, 5th November 2009
    Version 1.53 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 callstacks
    • Bug fix for callstack collection bug.

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

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

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

    • Support for launching batch files as well as executable. First application launched by batch file will be monitored.

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

    • Installer bug fix.

    Version 1.49, 18th August 2009
    Version 1.49 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 1.48, 1st May 2009
    Version 1.48 includes the following functionality:

    • Misc bug fixes.

    Version 1.47
    Version 1.47 includes the following functionality:

    • Hooked DLLs, sorted DLLs in list.

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

    • Minor tip of day bug fix.
    • Minor gui fixes.

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

    • Bug fix for Borland hooking.
    • Minor bug fixes.

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

    • Misc bug fixes. Maintenance release.

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

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

    Version 1.42
    Version 1.42 includes the following functionality:

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

    Version 1.41, 9th December 2008
    Version 1.41 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 1.40, 24th November 2008
    Version 1.40 includes the following functionality:

    • Code hooking rationalisation.
    • Bug fix for data corruption in tree/grid control class hierarchy.

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

    • Bug fix for data corruption when updating watermarks.
    • Bug fix for race condition for thread data.

    Version 1.38, 1st October 2008
    Version 1.38 includes the following functionality:

    • Robustness maintenance.

    Version 1.37
    Version 1.37 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.
    • Addition of 32 bit executable test.

    Version 1.36
    Version 1.36 includes the following functionality:

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

    Version 1.35
    Version 1.35 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 1.34
    Version 1.34 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 1.33
    Version 1.33 includes the following functionality:

    • Bug fix for crash with novice settings dialog.

    Version 1.32
    Version 1.32 includes the following functionality:

    • 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 1.31
    Version 1.31 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 1.30
    Version 1.30 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 1.29
    Version 1.29 includes the following functionality:

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

    Version 1.28
    Version 1.28 includes the following functionality:

    • Performance improvement for reading files.

    Version 1.27
    Version 1.27 includes the following functionality:

    • Modulation of colours on various displays to improve readability.

    Version 1.26
    Version 1.26 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 1.25
    Version 1.25 includes the following functionality:

    • Serialization bug fix.

    Version 1.24
    Version 1.24 includes the following functionality:

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

    Version 1.23
    Version 1.23 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 1.22
    Version 1.22 includes the following functionality:

    • Minor bug fixes.

    Version 1.21
    Version 1.21 includes the following functionality:

    • Bug fix for lock handling.
    • Objects View UI change.

    Version 1.20
    Version 1.20 includes the following functionality:

    • Minor user interface bug fixes and usability improvements.

    Version 1.19
    Version 1.19 includes the following functionality:

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

    Version 1.18
    Version 1.18 includes the following new functionality:

    • Maintenance release - bug fix in a support library.

    Version 1.17
    Version 1.17 includes the following new functionality:

    • Support for instrumenting Borland BPL files.

    Version 1.15
    Version 1.16 includes the following new functionality:

    • Maintenance release.

    Version 1.14
    Version 1.15 includes the following new functionality:

    • IMproved HTML Help handling.

    Version 1.13
    Version 1.14 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 1.12
    Version 1.13 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. New Help topics on:
      • What causes Inject or launch to fail?

    Version 1.12
    Version 1.12 includes the following new functionality:

    • Bug fix for load/saving settings.
    • Updated scrollbar handling for editor component.

    Version 1.11
    Version 1.11 includes the following new functionality:

    • Maintenance release.

    Version 1.10
    Version 1.10 includes the following new functionality:

    • Bug fix for session manager dialog.

    Version 1.09
    Version 1.09 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.

    Version 1.08
    Version 1.08 includes the following new functionality:

    • 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.

    Version 1.07
    Version 1.07 includes the following new functionality:

    • Maintenance release.

    Version 1.06
    Version 1.06 includes the following new functionality:

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

    Version 1.05
    Version 1.05 includes the following new functionality:

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

    Version 1.04
    Version 1.04 includes the following new functionality:

    • Bug fix for memory corruption on Analysis tab.

    Version 1.03
    Version 1.03 includes the following new functionality:

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

    Version 1.02
    Version 1.02 includes the following new functionality:

    • Rebuilt help file to remove potentially dangerous bookmark characters and use new help compiler. This action is in response to a few users complaining that HTML Help crashed for them.
    • Bug fix for UI Global Hook intercept dialog.
    • Bug fix for DLL Hooking.

    Version 1.01
    Version 1.01 includes the following new functionality:

    • Graphical bug fix for closing session when on Threads tab.

    Version 1.00
    Version 1.00 includes the following new functionality:

    • Beta test complete. Full product release.

    Version 0.89
    Version 0.89 includes the following new functionality:

    • Update to accomodated debug format change with Visual Studio 2005.

    Version 0.88
    Version 0.88 includes the following new functionality:

    • Editor component maintenance updated.

    Version 0.87
    Version 0.87 includes the following new functionality:

    • Automatic file association.

    Version 0.86
    Version 0.86 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 0.85
    Version 0.85 includes the following new functionality:

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

    Version 0.84
    Version 0.84 includes the following new functionality:

    • Bug fix for Unicode environment variables.

    Version 0.83
    Version 0.83 includes the following new functionality:

    • Maintenance release.

    Version 0.82
    Version 0.82 includes the following new functionality:

    • Maintenance release.

    Version 0.81
    Version 0.81 includes the following new functionality:

    • New warnings for .NET applications on Launch dialog.

    Version 0.80
    Version 0.80 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.

    Version 0.79
    Version 0.79 includes the following new functionality:

    • Bug fix for missing callstacks caused by compiler optimizations.

    Version 0.78
    Version 0.78 includes the following new functionality:

    • Bug fix for Display Lock Order dialog.

    Version 0.77
    Version 0.77 includes the following new functionality:

    • Help now supplied as HTML Help rather than WinHelp.

    Version 0.76
    Version 0.76 includes the following new functionality:

    • Instrumentation bug fix for hooking code containing computed unconditional jmp instructions.
    • StatusBar update.
    • Bug fix for Borland symbol handling crash.

    Version 0.75
    Version 0.75 includes the following new functionality:

    • Bug fix for crash when saving.

    Version 0.74
    Version 0.74 includes the following new functionality:

    • Misc bug fixes.

    Version 0.73
    Version 0.73 includes the following new functionality:

    • Bug fix for change colours and thread history display.
    • Bug fix for display diacritical characters and characters above 127.

    Version 0.72
    Version 0.72 includes the following new functionality:

    • Bug fix for load/save settings.

    Version 0.71
    Version 0.71 includes the following new functionality:

    • UI improvement for DLLs to Hook settings dialog.

    Version 0.70
    Version 0.70 includes the following new functionality:

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

    Version 0.69
    Version 0.69 includes the following new functionality:

    • Wait Time data now displayed in milliseconds rather than processor cycle counts.

    Version 0.68
    Version 0.68 includes the following new functionality:

    • Misc user interface bug fixes.

    Version 0.67
    Version 0.67 includes the following new functionality:

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

    Version 0.66
    Version 0.66 includes the following new functionality:

    • Bug fix register corruption in hook.

    Version 0.65
    Version 0.65 includes the following new functionality:

    • Bug fix for editor.

    Version 0.64
    Version 0.64 includes the following new functionality:

    • Licensing bug fix - only affects beta versions.

    Version 0.63
    Version 0.63 includes the following new functionality:

    • Maintenance release.

    Version 0.62
    Version 0.62 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.61
    Version 0.61 includes the following new functionality:

    • Bug fix for session loading.

    Version 0.60
    Version 0.60 includes the following new functionality:

    • Changed injection feedback mechanism to improve hooking.
    • Improved error reporting during hooking.

    Version 0.59
    Version 0.59 includes the following new functionality:

    • Context menu on tooltip support.

    Version 0.57
    Version 0.58 includes the following new functionality:

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

    Version 0.56
    Version 0.57 includes the following new functionality:

    • Bug fix for thread information/critical section information/wait information dialog.
    • Accelerators support.

    Version 0.56
    Version 0.56 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.

    Version 0.55
    Version 0.55 includes the following new functionality:

    • Clipboard handling bug fix.

    Version 0.54
    Version 0.54 includes the following new functionality:

    • Support for multiple invocations of Thread Validator running at once.
    • Launch Dialog and Launch Wizard provide environment variable support.

    Version 0.53
    Version 0.53 includes the following new functionality:

    • Virtual tree control font bug fix.

    Version 0.52
    Version 0.52 includes the following new functionality:

    • Bug fix for thread history view wait single/multiple data.

    Version 0.51
    Version 0.51 includes the following new functionality:

    • Bug fix for display lock order user interface.
    • Bug fix for thread history user interface data selection.
    • Virtual grid/tree control graphics bug fix.
    • Updated help.

    Version 0.50
    Version 0.50 includes the following new functionality:

    • Thread history window graphics bug fix.
    • Threads display splitter window now has two tabs. First tab shows locks information as before. Second tab shows lock order.
    • Lock Order dialog improvment - related lock/thread colouring, context menu.
    • Settings load/save bug fix.

    Version 0.49
    Version 0.49 includes the following new functionality:

    • Graphical display of threads is augmented by a splitter window allowing individual data cells to be selected with all related sample data displayed in the lower window. Selecting data in the lower window highlights the related data items in the upper window.

    Version 0.48
    Version 0.48 includes the following new functionality:

    • New Feature: Graphical display of thread execution states. Help partially updated to reflect this. This feature will undergo change in the near future and the help will be updated to reflect these changes.

    Version 0.47
    Version 0.47 includes the following new functionality:

    • Bug fix for rare INVALID_HANDLE_EXCEPTION crash.

    Version 0.46
    Version 0.46 includes the following new functionality:

    • Session export asks user for confirmation of file overwrite.

    Version 0.45
    Version 0.45 includes the following new functionality:

    • Misc UI bug fixes.

    Version 0.44
    Version 0.44 includes the following new functionality:

    • New Feature:Global hook DLL detector.

    Version 0.43
    Version 0.43 includes the following new functionality:

    • Symbols bug fix.

    Version 0.42
    Version 0.42 includes the following new functionality:

    • Multi-select file open dialog on various hook settings dialog tabs.

    Version 0.41
    Version 0.41 includes the following new functionality:

    • New implementation for Objects View. Objects view now lists all waitable handles owned by the target process.

    Version 0.40
    Version 0.40 includes the following new functionality:

    • Misc bug fixes.

    Version 0.39
    Version 0.39 includes the following new functionality:

    • Left/right justification, optional separators for integer values.

    Version 0.38
    Version 0.38 includes the following new functionality:

    • Handle leak (1 handle per second) bug fix when automatic deadlock detection enabled.

    Version 0.37
    Version 0.37 includes the following new functionality:

    • Addition of Session filters and Global Filters to Locks, Thread Locks and Current Locks tabs.

    Version 0.36
    Version 0.36 includes the following new functionality:

    • Addition of Auto Update to Lock Acquisition Order dialog box.
    • Addition of "Suspend" and "Sleeping" states to Lock Acquisition Order dialog box.
    • Ability to view callstacks of sleeping, suspended and stalled threads.
    • Search dialogs now use filters to reduce result set size.
    • Misc other bug fixes.
    • Updated help.

    Version 0.35
    Version 0.35 includes the following new functionality:

    • Support for naming threads via the THREADNAME_INFO RaiseException mechanism used by Microsoft Debuggers. Thread names are displayed on all appropriate user interfaces.
    • Bug fix:Thread Filter now lists all threads.
    • Thread Filter now filters on Locks, Per Thread Locks, Current Locks tabs as well as Active Objects, Analysis.
    • Thread Filter is now modeless, with an additional Apply button.
    • Sorting on Locks, Per Thread Locks, Current Locks tabs can be performed by thread id and thread name.
    • Help modified to include sections on thread naming and changes to various user interfaces.
    • Thread deadlock postmortem dialog modified to improve data display.
    • New dialog added to Query menu: Display Lock Order. This dialog can also be reached from the context menus on the Locks, Per Thread Locks and Current Locks tabs. This dialog has a bug that causes the fonts to be displayed incorrectly. This will be fixed in a future build.
    • Bug fix:Accelerators on Analysis tab do not interfere with menus.
    • Context menu alignment changed.
    • Settings dialog bug fixes.
    • Lock Information dialog, text no longer selected when displayed.
    • Global Filter Manager, resizing bug fix.
    • Various filter bug fixes.
    • Toolbar icons did not reflect application execution status for some users. Fixed.
    • XML export bug fix.

    Version 0.34
    Version 0.34 includes the following new functionality:

    • Addition of sequence ID to callstack dialogs allowing easier identification.
    • Addition of thread stall detection - potentially stalled threads are coloured pink and have warning text added to the Owning Module column.
    • Addition of default tutorial.
    • Bug fix: When prompted for a file, the directory is added to the list of directories to search in future.
    • Other misc bugs.

    Version 0.33
    Version 0.33 includes the following new functionality:

    • New entry on context menu for Locks, Thread Locks and Current Locks tabs. The new entry allows inspection of extra information about the critical section, wait or thread.
    • Filter Manager resizing bug fix.
    • Novice mode settings dialog improvement.
    • Analysis tab potential deadlocks bug fix.
    • Analysis tab colour coding and text description improvement.
    • Misc resource bug fixes.

    Version 0.32
    Version 0.32 includes the following new functionality:

    • Performance improvement.

    Version 0.31
    Version 0.31 includes the following new functionality:

    • Bug fix: Symbol resolution for Salford Software's FORTRAN 95.
    • Support for Borland C++ Builder compiler.
    • Support for Borland Delphi compiler.

    Version 0.30
    Version 0.30 includes the following new functionality:

    • Support for Metrowerks CodeWarrior compiler (Codeview Symbols).
    • Support for and Salford FORTRAN95 compiler (COFF Symbols).

    Version 0.28
    Version 0.29 includes the following new functionality:

    • Maintenance update. Misc bug fixes.

    Version 0.28
    Version 0.28 includes the following new functionality:

    • Mouse wheel support for editing component.

    Version 0.27
    Version 0.27 includes the following new functionality:

    • Query menu has two new options, Deadlock Detect and Potential Deadlock Detect for use when the automatic deadlock detection and automatic potential deadlock detect functionality has been turned off.

    Version 0.26
    Version 0.26 includes the following new functionality:

    • Enhanced editor component - embedded text can be aligned left or right.

    Version 0.25
    Version 0.25 includes the following new functionality:

    • Enhanced editor component.
    • Show stack traces for all threads now works even when the applications CRT lock is locked due to a crash inside CRT routines.
    • Bug fix for deadlocked stack traces dialog double-click to edit.

    Version 0.24
    Version 0.24 includes the following new functionality:

    • Bug fix for code rewriting hooks.
    • Bug fix for crash if editing definitions damaged in registry.

    Version 0.23
    Version 0.23 includes the following new functionality:

    • Bug fix for user interface viewing callstacks of critical sections.
    • Bug fix for stub: Critical sections initialised and deleted inside DllMain were not being tracked. The software now tracks these data items. Additional controls have been added to the Startup Data tab on the settings dialog.
    • Updated help file to match UI changes.

    Version 0.22
    Version 0.22 includes the following new functionality:

    • Bug fix for stack overflow crash in stub.
    • Change to libraries used with services.
    • Bug fix for use with services.
    • Updated help for use with services.

    Version 0.21
    Version 0.21 includes the following new functionality:

    • Improved speed in user interface.
    • Improved speed in stub - most thread monitoring functions have been re-written to use more optimal datastructures which we have determined to be thread safe, without us using locks which would interfere with the locking in the target application.
    • Improved support for services.

    Version 0.20
    Version 0.20 includes the following new functionality:

    • Bug fix for high speed callstack walk implementation when working with IIS and other highly multithreaded applications.
    • Bug fix for crash in stub.

    Version 0.19
    Version 0.19 includes the following new functionality:

    • Custom editor facility.
    • Faster stack walk implementation.
    • Misc user interface changes.
    • Updated help file.

    Version 0.18
    Version 0.18 includes the following new functionality:

    • New controls for limiting the amount of data collected - see the Hook Insertion and Historical Data tabs on the settings dialog.
    • New context menu on Objects tab.
    • Re-Launch button on toolbar.
    • New icons.
    • Updated help file.

    Version 0.17
    Version 0.17 includes the following new functionality:

    • Bug fix quoted arguments on the command line.

    Version 0.16
    Version 0.16 includes the following new functionality:

    • Bug fix for critical section address corrupted - set to zero.
    • Bug fix for WaitForSingleObject(Ex).
    • Bug fix for WaitForMultipleObjects(Ex).

    Version 0.15
    Version 0.15 includes the following new functionality:

    • Bug fix for symbol handling.

    Version 0.14
    Version 0.14 includes the following new functionality:

    • Bug fix for hooking of DLLs.
    • Updated help to match the new user interface.

    Version 0.13
    Version 0.13 includes the following new functionality:

    • New display layout for thread specific data for thread locks display and current locks display.
    • Addition of callstack viewing to thread locks display and current locks display.
    • Various bugs fixes to data collection algorithms in the stub.

    Version 0.12
    Version 0.12 includes the following new functionality:

    • Modified user interface (more work to do)
    • Improved display for summary locks, thread locks and current locks. Addition of WaitForXXX display.
    • Synchronization tab replaced with Active Objects tab.

    Version 0.11
    Version 0.11 includes the following new functionality:

    • Mid re-write version shown to selected beta testers from previous beta programmes.

    Version 0.10
    Version 0.10 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.09
    Version 0.09 includes the following new functionality:

    • Misc. internal improvements.

    Version 0.08
    Version 0.08 includes the following new functionality:

    • Bug fix for potential (but rare) deadlock on diagnostics tab.
    • Bug fix for memory corruption when copying data to the clipboard.

    Version 0.07
    Version 0.07 includes the following new functionality:

    • Misc bug fixes.

    Version 0.06
    Version 0.06 includes the following new functionality:

    • Bug fix for handling unloading of DLLs.
    • Changed default for discard stack traces when freed from OFF to ON.
    • Miscellaneous bug fixes.

    Version 0.05
    Version 0.05 includes the following new functionality:

    • Miscellaneous bug fixes.

    Version 0.04
    Version 0.04 includes the following new functionality:

    • Miscellaneous bug fixes.

    Version 0.03
    Version 0.03 includes the following new functionality:

    • Reworked hotspot implementation to remove potential for stack overflows.
    • Bug fix for right mouse click crash on threads view.
    • Internal maintenance bug fixes.

    Version 0.02
    Version 0.02 includes the following new functionality:

    • Map file handling improvements.
    • Internal maintenance bug fixes.
    • Addition of exception handler dialog to present a callstack and register dump if Thread Validator crashes.

    Version 1.64

    Initial 64 bit port from 32 bit Thread Validator.

    Version 0.02
    Version 0.02 includes the following functionality:

    Version 0.02
    Version 0.02 includes the following functionality:

    • Bug fix for hang during shutdown caused by INFINITE wait on a pipe transaction.
    • Bug fix for DllMain() hooks.
    • test.

    Version 0.03
    Version 0.03 includes the following functionality:

    Version 0.02
    Version 0.02 includes the following functionality:

    • Bug fix for hang during shutdown caused by INFINITE wait on a pipe transaction.
    • Bug fix for DllMain() hooks.
    • test

    Version 0.02
    Version 0.02 includes the following functionality:

    • Bug fix for hang during shutdown caused by INFINITE wait on a pipe transaction.

    Version 0.02
    Version 0.02 includes the following functionality:

    Version 0.01

    Initial beta version of Thread 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.

    Please provide us with feedback.

    Regards.

    Software Verify Thread Validator Team.

    Fully functional, free for 30 days