C++ Thread Validator Change History
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 Verification 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.16
Version 1.16 includes the following new functionality:
- Maintenance release.
Version 1.15
Version 1.15 includes the following new functionality:
- IMproved HTML Help handling.
Version 1.14
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.13
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.58
Version 0.58 includes the following new functionality:
- Addition of User Privilege checks when accessing the Registry and setting debugging privileges.
Version 0.57
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.29
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 0.01
Initial beta version 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 Verification Thread Validator Team.

