C++ Performance Validator Change History
Version 2.45
Version 2.45 includes the following functionality:
- Bug fix for Session Manager dialog.
Version 2.44
Version 2.44 includes the following functionality:
- Bug fix for Session Manager dialog, attach dialog and attach wizard.
Version 2.43
Version 2.43 includes the following functionality:
- Addition of bar graph performance statistics on main displays.
- Sorting behaviour improvement for relations tab.
- Bug fix for missing fileName, lineNumber on main displays when line timing enabled (line timing fileName and lineNumber are OK).
Version 2.42
Version 2.42 includes the following functionality:
- Bug fix for crash with inject wizard.
- Bug fix for background colour on some resizing graphical dialog boxes.
- Bug fix for source code display possible crash when in a splitter window.
Version 2.41
Version 2.41 includes the following functionality:
- Bug fix for crash with settings dialog File Locations.
- Replacement of all 3rd party tab controls with a custom tab control.
- Bug fix for source code control and misc controls flickering when resizing in a splitter window.
Version 2.40
Version 2.40 includes the following functionality:
- Bug fix for race condition that caused <please wait...> and <UNKNOWN> symbol names to fail to resolve to valid symbol names. You will still get these symbol names, as they are displayed whilst waiting for the symbols to arrive from the stub, however they will now resolve.
- Bug fix for hooking using Delphi MAP data, to handle .itext segments.
- Addition of -fileLocations command line argument.
- Addition of Export and Import options to File Locations settings dialog.
- Bug fix for settings dialog to allow correction selection of specified tab.
- Update to licensing dialog to prevent confusion with example application.
- Minor bug fixes.
Version 2.39
Version 2.39 includes the following functionality:
- Replacement of all 3rd party grid/tree controls with the same virtual grid/tree control used for the main displays. This change has been made for consistency of user interface and also to facilitate future ports of the software to alternate operating systems and widget toolkits.
- Bug fix for flickering main display when resizing.
- Column sort highlighting - arrow on column header and colour column colour hinting for the entire column.
- New layout for setting dialog, to make settings dialogs as similar as possible across the entire Software Verification product range.
- New default colours - click Reset on settings dialog to get them (other settings will change as well!)
Version 2.38
Version 2.38 includes the following functionality:
- Bug fix for instrumentation.
- Bug fix for cached instrumentation data date error when map file has earlier timestamp than DLL.
- Improved Delphi MAP file reading.
Version 2.37
Version 2.37 includes the following functionality:
- Bug fix for some code that could cause Data Execution Prevention violations if you had this Operating System option enabled.
Version 2.36
Version 2.36 includes the following functionality:
- Improved detection method for .Net modules.
- Bug fix for "The handle is invalid" error when trying to launch applications.
Version 2.35
Version 2.35 includes the following functionality:
- Performance improvement for reading and writing instrumentation cache files.
- Performance improvement for reading files.
- Inclusion of helper application to delete symbol cache files.
- Bug fix for instrumentation caching revocation.
- Addition of -sourceFileFilterHookFile command line option, see help for details.
Version 2.34
Version 2.34 includes the following functionality:
- Bug fix for Callstack view thread updating.
Version 2.33
Version 2.33 includes the following functionality:
- Bug fix for stack overflow bug inspecting dependent DLLs on very large applications.
- Provisional support for Visual Studio 9.0/2008
Version 2.32
Version 2.32 includes the following functionality:
- Bug fix for source code colouring.
- Bug fix for uninitialised data.
Version 2.31
Version 2.31 includes the following functionality:
- Bug fix for crash when double click on Reset button on settings dialog.
- Misc maintenance improvements.
- Bug fix for callstack view.
Version 2.30
Version 2.30 includes the following functionality:
- Bug fix for race condition (causes crash) for inter process comms one multi core/cpu machines. Bug is not visible on HyperThreaded machines or single cores CPUs. Bug has been seen on dual core CPUs, but is more obvious on dual core quad CPU machines.
Version 2.29
Version 2.29 includes the following functionality:
- Minor bug fixes.
Version 2.28
Version 2.28 includes the following functionality:
- Shared memory data access lock bug fix for Raw Statistics and Analysis tabs.
Version 2.27
Version 2.27 includes the following functionality:
- Source code colouring - more languages supported.
- File dialog file extension handling improvements.
- Launch dialog/wizard - addition of Delete button.
Version 2.26
Version 2.26 includes the following new functionality:
- Addition of line timing performance warning dialog.
Version 2.25
Version 2.25 includes the following new functionality:
- Support for instrumenting Borland BPL files.
Version 2.24
Version 2.24 includes the following new functionality:
- Support for launching .Net 1.0/1.1/2.0 applications.
Version 2.23
Version 2.23 includes the following new functionality:
- IMproved HTML Help handling.
Version 2.22
Version 2.22 includes the following new functionality:
- "Help PDF" added to Help menu if PDF help file is present in installation directory.
- Bug fix for installer.
- Behaviour change for Global Hook DLL handler.
Version 2.21
Version 2.21 includes the following new functionality:
- Feature Improvement: (Customer request) Multiple Memory Validator instances now supported for "Inject" and "Wait for Application" as well as for launching.
- Bug fix: Any .NET DLLs loaded by the instrumented process will be ignored.
- Modified launch, inject and wait for application topics to include references to new help topics explaining possible reasons
for failure to inject. Updated help topics related to working with services.
New Help topics on:
- What causes Inject or launch to fail?
- Why are some functions not hooked?
- Why are some lines not hooked?
Version 2.20
Version 2.20 includes the following new functionality:
- Bug fix for load/saving settings.
- Updated scrollbar handling for editor component.
- Bug fix for COFF/CodeView debugging info reading.
Version 2.19
Version 2.19 includes the following new functionality:
- Text change for HTML export to bring into line with statistics tab.
Version 2.18
Version 2.18 includes the following new functionality:
- Bug fix for relations tab.
Version 2.17
Version 2.17 includes the following new functionality:
- Bug fix crash caused when hooking the "initialization" functions identified by Borland debugging data.
Version 2.16
Version 2.16 includes the following new functionality:
- Bug fix for timing data error for functions that have not exited when program ends (for example if you exit prior to the end of the application).
- Bug fix for UI display bug on relations tab.
- Bug fix for session manager dialog.
Version 2.15
Version 2.15 includes the following new functionality:
- Bug fix for various memory leaks.
Version 2.14
Version 2.14 includes the following new functionality:
- Addition of extra diagnostic data for helping diagnose problems when data goes bad.
- Bug fix for rare crash whilst instrumenting code.
- Bug fix for divide by zero error.
Version 2.13
Version 2.13 includes the following new functionality:
- Addition of filtering on module name for Display filters.
- Bug fix for potential buffer overflow when command line of tested application is very long (MAX_PATH + 256 TCHARs).
- Command line displayed on diagnostic tab.
- Detailed command line displayed on diagnostic tab when in regression test mode.
- Detection of StarDock Window Blinds so that it can be safely ignored.
- Addition of Return Codes to command line documentation.
Version 2.12
Version 2.12 includes the following new functionality:
- Maintenance release.
Version 2.11
Version 2.11 includes the following new functionality:
- Bug fix for diagnostic tab when loading or switching sessions.
- Bug fix for tutorial handling and tip of day.
- Improved line timing display.
Version 2.10
Version 2.10 includes the following new functionality:
- Bug fix for processor frequency adjustment when reading session on different computer to the computer the session was recorded.
- Customer request: Configure Columns now includes a Reset button.
- Customer request: Raw Statistics, statistics, Relations and File and Lines now include additional context menu item to auto size column widths.
- Addition of Recursive Count to Call Tree, Call Graph and Analysis.
- Addition of Recursive symbols to Analysis.
- Addition of two new queries to Analysis: Recursing function and Recursing function depth.
Version 2.09
Version 2.09 includes the following new functionality:
- UI modifications for launch dialog.
- Bug fix for Global Hook UI DLLs.
Version 2.08
Version 2.08 includes the following new functionality:
- Bug fix for refresh bug with source code display component.
- Maintenance release.
Version 2.07
Version 2.07 includes the following new functionality:
- Bug fix for failing to load MFC80(u)(d).DLL symbols.
- Minor user interface changes.
Version 2.06
Version 2.06 includes the following new functionality:
- Bug fix for export timestamp.
- Bug fix for display filters and call graph user interface.
- Bug fix for call graph export.
- Bug fix for UI Global Hook intercept dialog.
- Bug fix for DLL Hooking.
Version 2.05
Version 2.05 includes the following new functionality:
- Resizable session compare dialog.
- Bug fix for command line handling for call tree/call graph.
Version 2.04
Version 2.04 includes the following new functionality:
- Bug fix for Find dialog on Analysis, Call Tree and Call Graph views.
- Data display bug fix for call tree and call graph.
Version 2.03
Version 2.03 includes the following new functionality:
- Maintenance release.
Version 2.02
Version 2.02 includes the following new functionality:
- Addition of Call Graph Export.
- Change to function of command line argument -exportAsHTML.
- Addition command line arguments: -exportAsCallTreeHTML, -exportAsCallGraphHTML, -exportDescription, -exportThreshold.
Version 2.01
Version 2.01 includes the following new functionality:
- Addition of Javascript to exported HTML to enable the the exported graph to be interactive.
Version 2.00
Version 2.00 includes the following new functionality:
- Beta test complete. Full product release.
Version 1.23
Version 1.23 includes the following new functionality:
- Bug fix for rare stack overflow bug whilst iterating performance data.
Version 1.22
Version 1.22 includes the following new functionality:
- Registry data saving bug fix.
Version 1.21
Version 1.21 includes the following new functionality:
- Addition of threshold facility to Call Graph tab.
- Update to accomodated debug format change with Visual Studio 2005.
Version 1.20
Version 1.20 includes the following new functionality:
- Bug fix for application specific instrumentation crash.
- Bug fix for filters - context menu filtering now supports multiple selection.
- Bug fix for possible crash whilst walking callstacks. Bug seen with a Delphi application.
- Editable threshold value on Call Tree tab - you can now enter fractions if you desire.
Version 1.19
Version 1.19 includes the following new functionality:
- Maintenance release.
- Editor component maintenance updated.
- Bug fix for Call Graph tab.
Version 1.18
Version 1.18 includes the following new functionality:
- Addition of -- comment facility for -commandFile arguments.
Version 1.17
Version 1.17 includes the following new functionality:
- Relations tab 'promote' behaviour change.
- Bug fix for setting instrumentation filters from context menu - settings saved to registry immediately.
Version 1.16
Version 1.16 includes the following new functionality:
- Automatic file association.
- Bug fix for column order editing.
- Misc tab of settings dialog updated to allow control over diagnostic disassembly of failed hooks.
- Line timing information displays updated to include "----" visit count and line time for lines that could not be hooked.
- Bug fix for whole program optimization code rearrangement interfering with line timing display.
Version 1.15
Version 1.15 includes the following new functionality:
- Bug fix for load session on command line.
- Bug fix for Reset launch history on launch application dialog.
- Bug fix for thread detection on Windows 2000/Windows XP.
Version 1.14
Version 1.14 includes the following new functionality:
- Editing options expanded to include Visual Studio.NET 2002, 2003, 2005, SCiTE editor.
Version 1.13
Version 1.13 includes the following new functionality:
- Bug fix for Unicode environment variables.
Version 1.12
Version 1.12 includes the following new functionality:
- Maintenance release.
Version 1.11
Version 1.11 includes the following new functionality:
- Addition of controls on Raw Statistics, Statistics, Call Tree, Call Graph and Line Timing to switch from horizontal splitter to vertical splitter and vice versa.
- Improved selection of fixed width fonts for use in source code viewing pane.
- Bug fix for settings.
Version 1.10
Version 1.10 includes the following new functionality:
- Command line improvements.
- Improved help describing command line options.
Version 1.09
Version 1.09 includes the following new functionality:
- New warnings for .NET applications on Launch dialog.
Version 1.08
Version 1.08 includes the following new functionality:
- Removal of DLLs not to hook settings.
- Improvement of Hooked DLLs settings to provide control over hooking and not hooking of DLLs.
- Support for * wildcard for DLL specification on Hooked DLLs settings.
- Addition of extra control on Hook Insertion settings.
- Addition of new command line option -dllHookFile.
Version 1.07
Version 1.07 includes the following new functionality:
- Implementation change: When no source code available, the editing pane displays "No Source".
- Bug fix for session manager compare.
- Help updated.
Version 1.06
Version 1.06 includes the following new functionality:
- Option to prevent scrolling of first column on Raw Statistics, Statistics, Relations and File Line views.
- Display colouring improvement for Raw Statistics, Statistics, Relations.
- Injection feedback bug fix.
Version 1.05
Version 1.05 includes the following new functionality:
- Addition of Average Function time column to Raw Statistics, Statistics and Relations views.
- Bug fix for various incorrectly displayed statistics.
- Addition of recursing symbols to Call Tree display.
- Addition of recursing symbols to terminating recursions in Call Graph display.
- Correction of statistics calculation and display on Call Tree and Call Graph displays.
- Correct handling of setjmp/longjmp.
Version 1.04
Version 1.04 includes the following new functionality:
- Help now supplied as HTML Help rather than WinHelp.
Version 1.03
Version 1.03 includes the following new functionality:
- StatusBar update.
- Addition of display filters to Raw Statistics, Statistics, Relations.
- Addition of context menu items to Raw Statistics, Statistics, Relations.
Version 1.02
Version 1.02 includes the following new functionality:
- StatusBar update.
- Ctrl-Left click performs Go to graph node on Call Graph.
- Bug fix for Goto graph node when destination node is part of collapsed parent node.
- Addition of context menu items to Call Tree, Call Graph and Analysis for navigating from Call Graph to Call Tree, Analysis to Call Graph, Analysis to Call Tree, Call Tree to Call Graph, Node to Next Node, Node to Previous Node.
- Change to icon display in Call Graph - icons now displayed in the tree, not the left margin.
- Bug fix for Borland symbol handling crash.
Version 1.01
Version 1.01 includes the following new functionality:
- Improvements to call graph.
Version 1.00
Version 1.00 includes the following new functionality:
- New feature: Addition of Hotspot Call Graph to complement the Hotspot Call Tree.
- Addition of Remove Entry functionality to allow pruning of the call tree and the call graph displays.
- Addition of Find command on Tools menu and toolbar. The find functionality allows searching on the main user interfaces Raw Statistics, Statistics, Relations, Call Tree, Call Graph, Analysis and Line Times.
Version 0.99
Version 0.99 includes the following new functionality:
- Bug fix for missing first item of performance data.
- Misc bug fixes.
Version 0.98
Version 0.98 includes the following new functionality:
- User interface improvement for Raw Statistics, Statistics, Relations and Line Times displays. A selected cell now highlights the whole line to make identifying the line when scrolling the display much easier.
- Bug fix for loading and saving line timing information.
Version 0.97
Version 0.97 includes the following new functionality:
- Archiving version update.
- Bug fix for display diacritical characters and characters above 127.
Version 0.96
Version 0.96 includes the following new functionality:
- Instrumentation bug fix for hooking code containing computed unconditional jmp instructions.
Version 0.95
Version 0.95 includes the following new functionality:
- UI improvement for DLLs to Hook settings dialog.
- Bug fix for settings load/save.
- Files not to hook - can now filter by directory.
- HTML Export and XML Export - can now export multiple files at once.
- Class and Function filter - has symbol browser.
- New context menu filters on all views for Filename, Directory and DLL.
- Filtering bug fixes.
Version 0.94
Version 0.94 includes the following new functionality:
- Bug fix for failing to instrument a DLL that has been filtered.
Version 0.93
Version 0.93 includes the following new functionality:
- Class and function filter settings improvement.
- Filtering capabilities added to the Context menu on all views.
- Bug fix: Callstack window redrawn when session is completed.
Version 0.92
Version 0.92 includes the following new functionality:
- Injection feedback speedup.
- Bug fix for race-condition crash.
Version 0.91
Version 0.91 includes the following new functionality:
- Time data now displayed in milliseconds rather than QueryPerformanceCounter and RDTSC processor cycle counts.
- Time data can be displayed as HH:MM:SS:mmm.uu
Version 0.90
Version 0.90 includes the following new functionality:
- Misc user interface bug fixes.
Version 0.89
Version 0.89 includes the following new functionality:
- Bug fix for uninitialised data.
Version 0.88
Version 0.88 includes the following new functionality:
- User Interface improvement - numbers formatted according to user's choice of locale.
Version 0.87
Version 0.87 includes the following new functionality:
- Display of data bug fixes.
- Bug fix register corruption in hook.
Version 0.86
Version 0.86 includes the following new functionality:
- Bug fix for editor.
Version 0.85
Version 0.85 includes the following new functionality:
- Licensing bug fix - only affects beta versions.
Version 0.84
Version 0.84 includes the following new functionality:
- Bug fix for registry access.
Version 0.83
Version 0.83 includes the following new functionality:
- Bug fix installer.
- Bug fix for licensing.
- Bug fix for callstacks walking on Windows XP, SP2.
- Removal of SE_SECURITY_NAME privilege requirement for working with services.
- Updated help.
Version 0.82
Version 0.82 includes the following new functionality:
- Session comparison reimplemented.
- Session comparison export reimplemented.
Version 0.81
Version 0.81 includes the following new functionality:
- Improved session comparison functionality.
- Bug fix for session loading.
Version 0.80
Version 0.80 includes the following new functionality:
- Changed injection feedback mechanism to improve hooking.
- Improved error reporting during hooking.
- Fixed flashing callstack display on Windows XP.
Version 0.79
Version 0.79 includes the following new functionality:
- Help update.
- Context menu on tooltip support.
- Bug fix for relations tab.
- Grid/Tree control expand entry/collapse entry bug fix.
- Various misc bug fixes.
Version 0.78
Version 0.78 includes the following new functionality:
- Addition of User Privilege checks when accessing the Registry and setting debugging privileges.
Version 0.77
Version 0.77 includes the following new functionality:
- Keyboard Accelerators.
- Line timing now obey performance collectors.
Version 0.76
Version 0.76 includes the following new functionality:
- Misc bug fixes.
- RDTSC and Performance Counters timing improvement.
Version 0.75
Version 0.75 includes the following new functionality:
- Uninitialized data bug fix for columns editing for multiple views.
Version 0.74
Version 0.74 includes the following new functionality:
- Bug fix for Don't hook DLLs settings.
- Bug fix for Source File Types settings.
Version 0.73
Version 0.73 includes the following new functionality:
- Exported HTML files and Exported XML files support left/right alignment and comma separators, as defined in the data display section of the settings dialog.
- Bug fixes for various column sorting and display issues.
Version 0.72
Version 0.72 includes the following new functionality:
- Clipboard handling bug fix.
Version 0.71
Version 0.71 includes the following new functionality:
- Support for multiple invocations of Performance Validator running at once.
- Launch Dialog and Launch Wizard provide environment variable support.
Version 0.70
Version 0.70 includes the following new functionality:
- Robustness improvements regarding lock acquisition.
- Virtual tree control font bug fix.
Version 0.69
Version 0.69 includes the following new functionality:
- Virtual grid/tree control graphics bug fix.
Version 0.68
Version 0.68 includes the following new functionality:
- Bug fix for load and save settings.
- Bug fix for editing various settings.
Version 0.67
Version 0.67 includes the following new functionality:
- Maintenance release.
Version 0.66
Version 0.66 includes the following new functionality:
- Column width saving/restoring improvement.
- Bug fix for rare INVALID_HANDLE_EXCEPTION crash.
Version 0.65
Version 0.65 includes the following new functionality:
- Bug fix for missing symbols when in sampling mode and sampling programs with very short execution times.
- Addition of user confirmation of overwriting export HTML/XML files.
- Addition of Analysis submenu and Relations option to context menus of all major user interfaces. The Analysis submenu provides pre-formed queries for use on the Analysis tab. The Relations option displays all related (parent/child) data for the selected data item.
Version 0.64
Version 0.64 includes the following new functionality:
- Misc UI bug fixes.
Version 0.63
Version 0.63 includes the following new functionality:
- New Feature: Global Hook DLL Detector.
Version 0.62
Version 0.62 includes the following new functionality:
- Bug fix for Memory mapped file when line timing a large number of lines (Greater than 100,000).
- User interface bug fix when deleting session.
- Symbols bug fix.
Version 0.61
Version 0.61 includes the following new functionality:
- Hook insertion optimization.
- Bug fix for export session dialog.
- Bug fix for cumulative time display for functions on line timing view.
- Bug fix for filtering functions based on file location.
- Bug fix for class::method/function instrumentation filter - now works with functions as well as lines.
- Performance improvement: MAP files can be used to hook functions even without line number information.
Version 0.60
Version 0.60 includes the following new functionality:
- Refinement of multi-select file open dialogs.
- Configurable embedded statistics in source code view.
Version 0.59
Version 0.59 includes the following new functionality:
- Multi-select file open dialog on various hook settings dialog tabs.
Version 0.58
Version 0.58 includes the following new functionality:
- Bug fix: Hook Insertion tab did not correctly control hooking of statically linked CRT/MFC.
- Misc Bug fixes.
Version 0.57
Version 0.57 includes the following new functionality:
- Bug fix in stub for hooking during shutdown.
- Misc bug fixes.
Version 0.56
Version 0.56 includes the following new functionality:
- Bug fix for handle leak when in sampling mode.
- New Callstack user interface to display selected thread's callstack. Very useful for quickly determining where all the time in a busy loop is going without needing to look at the other query interfaces such as Relations or Hotspots. This user interface is experimental and may be dropped if user reaction is not favourable.
- Support for thread-naming via RaiseException, so that threads on the Callstacks user interface can be named.
Version 0.55
Version 0.55 includes the following new functionality:
- Addition of back button to Relations tab to allow previous queries to be revisited.
Version 0.54
Version 0.54 includes the following new functionality:
- Serialization bug fix.
Version 0.53
Version 0.53 includes the following new functionality:
- Various "sample count" combo box/column header bug fixes.
- Hotspot/File and Line expand/collapse bug fix.
Version 0.52
Version 0.52 includes the following new functionality:
- Crash bug fix.
- Bug fix for potential deadlock in PV during shutdown of application under test.
- Colour editing bug fix.
- Context menu alignment bug fix.
Version 0.51
Version 0.51 includes the following new functionality:
- Bug fix for file handling for FORTRAN95.
Version 0.50
Version 0.50 includes the following new functionality:
- Bug fix for displaying class and method names for classA::classB::methodC style classes.
- Bug fix for broken launch dialog resource.
Version 0.49
Version 0.49 includes the following new functionality:
- Bug fix for bad software merge.
Version 0.48
Version 0.48 includes the following new functionality:
- New user interface settings for "Sampling" mode.
- Bug fix for hotspots tab for "Sampling" mode.
Version 0.47
Version 0.47 includes the following new functionality:
- Bug fix: Symbol resolution for Salford Software's FORTRAN 95.
- Bug fix: Improved Borland C++ Builder and Borland Delphi symbol support.
Version 0.46
Version 0.46 includes the following new functionality:
- More data collection bug fixes.
Version 0.45
Version 0.45 includes the following new functionality:
- Data collection bug fixes.
Version 0.44
Version 0.44 includes the following new functionality:
- Crash bug fix: Memory mapped file race condition bug fix.
Version 0.43
Version 0.43 includes the following new functionality:
- Synchronization error bug fixes.
- Improved support for Borland C++ Builder and Borland Delphi.
Version 0.42
Version 0.42 includes the following new functionality:
- Support for Borland C++ Builder and command line compiler.
- Support for Metrowerks C++ compiler.
- Support for Borland Delphi.
- Support for Salford Software's FORTRAN95.
Version 0.41
Version 0.41 includes the following new functionality:
- Maintenance update. Misc bug fixes.
Version 0.40
Version 0.40 includes the following new functionality:
- Mouse wheel support for editing component.
Version 0.39
Version 0.39 includes the following new functionality:
- Improvement for symbol handling.
- Editor component bug fix.
Version 0.38
Version 0.38 includes the following new functionality:
- Enhanced editor component - embedded text can be aligned left or right.
Version 0.37
Version 0.37 includes the following new functionality:
- Redraw bug fixes for enhanced editor component.
Version 0.36
Version 0.36 includes the following new functionality:
- Feature change (user feedback): Raw Statistics, Statistics, Relations column width configuration can now be propogated to all other tabs automatically.
- Feature change (user feedback): Data display can now include optional comma separators.
- Data display can be left or right aligned (right align is useful when using commas).
- Improvement to File and Line display.
- Bug fix for drawing error on File and Line display when horizontally scrolled.
- Improvement to timing calculations.
- Source code display now includes visit count and time information.
- New Data Display tab on settings dialog.
- Updated help file.
Version 0.35
Version 0.35 includes the following new functionality:
- Bug fix for code rewriting hooks.
- Bug fix for crash if editing definitions damaged in registry.
Version 0.34
Version 0.34 includes the following new functionality:
- Ability to cache instrumention data for function hooking.
- Ability to cache instrumention data for line hooking.
- Minor change to launch dialog in "dialog" user interface mode.
- Bug fix for use with services.
- Updated help file.
Version 0.33
Version 0.33 includes the following new functionality:
- Feature change: Top pane on Relations tab now sorts based on column headers as well as combo box.
- Bug fix for sorting on middle pane and bottom pane on Relations tab.
Version 0.32
Version 0.32 includes the following new functionality:
- Bug fix for stack overflow when recursively calculating hotspots.
- Improved support for services.
Version 0.31
Version 0.31 includes the following new functionality:
- Bug fix for high speed callstack walk implementation when working with IIS and other highly multithreaded applications.
Version 0.30
Version 0.30 includes the following new functionality:
- Faster callstack walking for improved "sampling" performance mode.
- Addition of custom editor specification.
- Bug fixes to instrumentation code.
- New toolbar icons.
- Updated help manual.
Version 0.29
Version 0.29 includes the following new functionality:
- Bug fix for user interface crash.
- Faster callstack collection for sampling mode.
- Quoted arguments support on command line.
Version 0.28
Version 0.28 includes the following new functionality:
- New feature: Double click on any entry on any tab will cause the selected entry to be displayed on the Relations tab with callering functions and called functions displayed..
Version 0.27
Version 0.27 includes the following new functionality:
- Bug fix: Raw Statistics View. Clicking on first entry (when unsorted) would not display source code.
- Bug fix: Statistics View. Clicking on first entry (when unsorted) would not display source code.
- Bug fix: Relations View. Clicking on first entry (when unsorted) would not display source code.
- Tooltips for the header row on all grid controls disabled, to allow easier resizing of columns.
Version 0.26
Version 0.26 includes the following new functionality:
- Bug fix for symbol handling.
Version 0.25
Version 0.25 includes the following new functionality:
- Bug fix for stack overflow when calculating hotspots on Hotspot and/or Analysis View. New implementation is iterative and cannot exhaust stack space.
Version 0.24
Version 0.24 includes the following new functionality:
- Bug fix for hooking DLLs.
Version 0.23
Version 0.23 includes the following new functionality:
- Maintenance build.
Version 0.22
Version 0.22 includes the following new functionality:
- Bug fix:Map file only used when the date matches the DLL.
Version 0.21
Version 0.21 includes the following new functionality:
- Performance improvement for tree control.
- Improved function and line hooking algorithms.
Version 0.20
Version 0.20 includes the following new functionality:
- Bugfix for hooking using MAP files to provide symbols.
Version 0.19
Version 0.19 includes the following new functionality:
- Improvement to line timing algorithm.
Version 0.18
Version 0.18 includes the following new functionality:
- Addition code for pvLicense.exe and Performance Validator to cope with Windows File Protection preventing the upgrade of DBGHELP.DLL to a more recent version than the default installed for Windows 2000.
Version 0.17
Version 0.17 includes the following new functionality:
- Addition of reset statistics button on toolbar (and menu). This buttons resets all times and visit counts to zero. Added due to beta test feedback.
- Potential deadlock during hooking algorithms, prevented.
- Improved detection of functions in code sections. Previous algorithm had the potential to incorrectly identify data in code blocks as code. New algorithm use new PDB API to correctly identify functions.
Version 0.16
Version 0.16 includes the following new functionality:
- Version V0.15 included an overzealous check for function jmps which prevented many functions from being hooked. V0.16 fixes this check.
- Improved disassembly of functions.
- Improved reporting of functions with no code, just return instructions.
Version 0.15
Version 0.15 includes the following new functionality:
- Improved Line Timing display - shortest time of not visited lines now displayed as zero.
- Improved Line Timing - line times now assigned to correct line (previously line was assigned the time for the previously executed line - which could be very misleading).
- Class and Function filter for line timing now works correctly. You can now provide line timings on a per function, per class method or per class basis.
- Hooked Source Files tab on setting dialog allows you to specify source files that should not be hooked or that should be hooked, allowing you to exclude parts of your application or to concentrate on parts of your application. This allows you to provide function and line timing on a per file basis. Be aware that if the class and function filter is setup at the same time you may end up filtering out all files/functions and no data will be collected at all - it is up to you to choose the appropriate settings for your application.
- Misc deadlock avoidance improvements.
- Display of data limited by threshold on Hotspots tab improved.
- Improved editing of columns on all displays.
Version 0.14
Version 0.14 includes the following new functionality:
- Bug fix for function re-writing hooks.
- Bug fix for function hooking and line hooking. Both options can be enabled simultaneously without crashing the target application.
Version 0.13
Version 0.13 includes the following new functionality:
- More Robustness improvement for function and line hooking.
Version 0.12
Version 0.12 includes the following new functionality:
- Robustness improvement for function and line hooking.
Version 0.11
Version 0.11 has the following improvements and changes.
- New Relations tab, displaying time consuming (or most visited) functions, their child functions and their parent functions.
- New Line Timing tab, displaying times for individual lines.
- New settings tabs to control line timing hooks.
- New dialogs for launch, inject, wait (for both wizard and dialog modes)
Version 0.10
Version 0.10 has the following improvements and changes.
- wWinMainCRTStartup or equivalent is now correctly hooked when attaching via CreateProcess(). This results in the majority of hotspots beign grouped under the main worker thread. All other hotspots are grouped per thread. DLL loads appear as separate hotspots at present.
- Cursor right, cursor left and return key can now be used to expand, collapse and toggle the expand state on the hotspots and analysis tree controls.
Version 0.09
Version 0.09 has the following improvements and changes.
- Statistics tab renamed Raw Statistics.
- New Statistics tab that displays collated statistics from the raw statistics.
- Changed default colours for hotspot graphs to improve readability.
- New column, Class::Method.
- Can sort columns by clicking on column headers.
- Columns can be autosized by clicking close to the right hand edge of the column.
- Column widths are stored between session.
Version 0.08
Version 0.08 has the following improvements and changes.
- Bug fix for the global hook rejection filter on LoadLibrary(Ex). For the cases where the filter prevented the loading of a DLL, it was possible for some registers to be corrupted, resulting in unpredictable application behaviour.
- Bug fix for multiple hooking methods with the same name in different DLLs ("operator new" is an example).
- The hooking method for all functions for performance monitoring has been improved, and now handles exceptions correctly.
Version 0.07
Version 0.07 includes the following new functionality:
- Extra error reporting relating to symbol tracking on diagnostic tab.
- Bug fix for "automatically add to PDB search path". Paths are reset to match the file settings dialog/wizard prior to launching/injecting/waiting on an application. Paths are then rediscovered. This means that for situations where you have multiple versions of the same DLL in your development environment, the correct paths to your PDBs are used, rather than paths to PDBs in potentially other directories on your system than the particular DLL in use at the time.
- Internal minor bug fixes.
Version 0.06
Version 0.06 has the following improvements and changes.
- Robustness improvement for boundary condition on memory mapped file.
Version 0.05
Version 0.05 has the following improvements and changes.
- Performance improvement for virtual scrolled tree when deleting all rows.
- C++ names now demangled.
- Directory of files found using file open dialog are added to the source code locations searched for source files.
- Crash profiling apps when exceed the number of performance graph nodes fixed.
Version 0.04
Version 0.04 has the following improvements and changes.
- Fixed editing component bug.
- Misc. internal improvements.
Version 0.03
Version 0.03 has the following improvements and changes.
- Fixed function hooker bug which meant that for some apps/modules no functions would be hooked.
- Fixed structured exception handling bug which meant that if your application threw an exception, the profiling hooks would prevent the exception from being handled correctly.
- Fixed various statistics display bugs.
Version 0.02
Version 0.02 has the following improvements and changes.
- Improved handling of version.dll.
- Internal bug fixes for tracking data.
Version 0.01
Initial beta version made available to selected beta testers. We would like your feedback on any bugs you may find, on the features and benefits of the software, and also feedback on features that you think are missing from the software but which you would find useful.
NT Service support is still under development. You can link to the NT Services Performance Validator support DLLs but don't expect Performance information to be displayed for services.
Help topic IDs are currently not correct.
Please provide us with feedback.
Regards.
Software Verification Performance Validator Team.

