Version History

On this page you'll find:

RSS Feed

To keep up-to-date with updates to this product, use this RSS feed:

vbWatchdog Version History RSS feed

Version History

Update: v4.0.2,     20-Jul-2022

  • Fixed: bogus E_VBWATCHDOG_NOT_OFFICE error when enabling vbWatchdog [Enterprise Edition only]

Update: v4.0.1,     20-Jul-2022

  • Fixed: Enterprise-Edition 32-bit VBE Addin failure with message ' vbWatchdog Addin' could not be loaded

Update: v4.0.0,     15-Jul-2022

  • improved: all vbWatchdog DLLs and MSI files are now code-signed
  • improved: built-in error dialogs are now DPI-aware
  • improved: Line numberer IDE addin is now DPI aware, and adjusts width of the injected bar to better fit the content
  • improved: vbWatchdog now compiled with latest LLVM backend compiler for better optimizations
  • added: 245 new algorithm patterns for use with ErrExDialogOptions fill types (patterns 9-254)
  • added: ErrEx.HostPath (property-get, String)
  • added: ErrEx.HostVersion (property-get, String)
  • added: ErrEx.ProcessUsername (property-get, String)
  • added: ErrEx.ProcessID (property-get, Long)
  • added: ErrEx.ProcessThreadID (property-get, Long)
  • added: ErrEx.ProcessUptime (property-get, String:"D:HH:NN:SS")
  • added: ErrEx.SystemUptime (property-get, String:"D:HH:NN:SS")
  • added: ErrEx.SysInfoCPUID (property-get, String)
  • added: ErrEx.SysInfoOSVersion (property-get, String)
  • added: ErrEx.SysInfoPhysicalRam (property-get, Double)
  • added: ErrEx.SysInfoPhysicalRamUsed (property-get, Double)
  • added: ErrExCallstack.IsWithinFinallyBlock boolean property-get
  • fixed: ErrExCallstack.ProjectConditionalCompilationArgs and ErrEx.SourceProjectConditionalCompilationArgs and source code parsing with conditional arguments on latest VBE7.1 builds
  • fixed: issue relating to OnErrorUnwind and subsequent errors in ErrEx.Finally block coming through as OnErrorGotoLabel instead of OnErrorInsideFinally

Update: v3.9.2,     26-May-2021

  • (64-bit affected only) Fixed: crash on ErrEx initialization in VBA 7.1.1109 x64

Update: v3.9.1,     29-Apr-2021

  • (64-bit affected only) Fixed: VariablesInspector names of variables were output as empty strings since the latest VBA x64 update.
  • Fixed: VariablesInspector now doesn't attempt to probe object variables for their typelibrary container, to workaround a VBA type library bug (e.g. "{Object/TreeView.clsTreeView}" now becomes "{Object/clsTreeView}" in ValueDesc)

Update: v3.9.0,     01-Dec-2020

  • (64-bit affected only) Fixed: broken error propagation in some instances since v3.8.8

Update: v3.8.9,     23-Sep-2020

  • Fixed: 'Toggle LineNumbers' VBE addin would sometimes crash on 64-bit

Update: v3.8.8,     19-Aug-2020

  • Fixed: error E_VBWATCHDOG_SELFTESTFAIL3 occuring on 64-bit editions of VBA (latest revisions, approx VBE v7.1.10.99+)

Update: v3.8.7,     20-Jun-2020

  • Added: support for WithEvents variables in the VariablesInspector. WithEvents variables are now reported and accessible as per ordinary class module variables

Update: v3.8.6,     12-Jun-2020

  • Added: ProjectCreateClassInstance to the ErrExCallstack class for allowing creation of VBA class modules given a string argument name. E.g.:
    With ErrEx.LiveCallstack.ProjectCreateClassInstance("Class1")
    End With

Update: v3.8.5,     18-Jan-2020

  • Fixed: Incompatibility with Cisco AMP when running vbWatchdog inside Office 2016+ [32-bit only, runtime fail code 1050]

Update: v3.8.4,     21-Jul-2018

  • Fixed: Issue on 64-bit VBA causing ErrEx.Disable to not disable vbWatchdog correctly (also affected automatic unload on project closure)

Update: v3.8.3,     28-Mar-2018

  • Improved the accuracy of the automatic line numbering system when parsing sourcecode that code involves explicit line numbers, line-seperators and line-continuation characters

Update: v3.8.2,     15-Feb-2018

  • Fixed crash when running an Access ACCDE/MDE that was compiled on a machine where the vbWatchdog Addin is not installed and active. Instead, an informational warning will be displayed, and vbWatchdog will remain disabled.

Update: v3.8.1,     02-Feb-2018

  • Fixed: (64-bit) an issue with the variables inspector when the latest builds of VBA from January 2018 are installed.

Update: v3.8.0,     02-Feb-2018

  • Fixed: (32-bit) an issue with the variables inspector when the latest builds of VBA from January 2018 are installed.

Update: v3.7.1,     23-Feb-2016

  • Fixed: Issue when using vbWatchdog in classic VB6 projects, when compiling to DLL

Update: v3.7.0,     19-Dec-2015

  • Fixed: Occasional crash in 64-bit mode, particularly on Windows 10.

Update: v3.6.1,     30-Sep-2015

  • Re-release of v3.6.0, with updated license agreement.

Update: v3.6.0,     14-Aug-2015

  • Fixed: crash on the 64-bit edition of Office 2013 with the kb3039734 update released 11th Aug.

Update: v3.5.4,     15-Jan-2015

  • Fixed: VariablesInspector Value property would previously return Empty for arrays of custom classes.

Update: v3.5.3,     28-Nov-2014

  • Fixed: Custom image support for the error dialog, when loading a bitmap in-memory rather than from disk. Also requires that you use the latest version of the vbWatchdog Sample MDB file to do the customizations.

Update: v3.5.2,     15-Nov-2014

  • Improved: Modifying the ErrEx.Number property from inside a global error trap now propagates through to VBA local error handling when your global error trap exits

Update: v3.5.1,     30-Oct-2014

  • Added ErrEx.DisableMemorySafetyChecks boolean property (defaults to False). Set to True to turn off the memory safety checks that vbWatchdog performs to ensure stability and reliability of itself under extreme error conditions (particularly for cases where corruption of memory has occurred). Turning off the safety checks offers faster performance. WARNING: Do not use this property on VB6 projects! VBA ONLY.

Update: v3.5.0,     02-Aug-2014

  • Fixed: a problem where the VariablesInspector occasionally picked up the variable information from the wrong procedure, when conditional compilation is in use for Declares in a module (VBA7 only).

Update: v3.4.7,     30-Apr-2014

  • Fixed: Line-number miscount issue when multiple logical lines appear on the same physical line as a Dim/Const/Static statement (e.g. 'Dim A As Integer: A = 1')

Update: v3.4.6,     13-Mar-2014

  • Fixed: The VariablesInspector was reporting variables declared as Byte or LongLong as unrecognized.

Update: v3.4.5,     06-Jan-2014

  • Corrected the handling of stack overflow / recursion errors, which weren't catchable with local error handling.

Update: v3.4.4,     07-Dec-2013

  • Fixed: evaluation of precompiler directives when underscore characters are used anywhere in the expression.
  • Fixed: ErrEx.SourceProjectIsSaved and ErrEx.Callstack.ProjectIsSaved properties were returning the wrong boolean value.

Update: v3.4.3,     05-Nov-2013

  • Fixed: FailCode 1160 error when vbWatchdog was initialized with v6.4.99.71 of the VBE6.DLL (rare version of the DLL)

Update: v3.4.2,     03-Nov-2013

  • Fixed: The OnErrorUnwind and OnErrorUnwindNoFinally states have been corrected to ensure that no memory leaks are created when they are used.  In some instances, prior to v3.4.2, a memory leak would occur and cause the host application to not terminate correctly when exiting (e.g. the MSACCESS.EXE process would stay alive in memory). All now fixed.

Update: v3.4.0,     14-Oct-2013

  • Added: ErrEx.HostAllowsBreakNow boolean read-only property available inside your global error trap, indicating whether the host application (Access, Excel etc) has indicated that it doesn't want to break on this error.  Useful for ignoring unhandled errors occurring in Excel cell VBA formulas (that ordinarily don't cause the VBA debugger to display on error). Example:
    Public Sub OnError()
        Select Case ErrEx.State
            Case OnErrorGoto0
                If Not ErrEx.HostAllowsBreakNow Then
                    ErrEx.State = OnErrorEnd
                    Exit Sub
                End If
                ErrEx.State = ErrEx.ShowErrorDialog()
        End Select
    End Sub

Update: v3.3.2,     10-Oct-2013

  • Fixed: ACCDE compilation on Access 2013 caused vbWatchdog to fail unless the VBA code was fully compiled before creating the ACCDE.

Update: v3.3.1,     27-Sep-2013

  • Improved: internal handling of errors in rare situations where vbWatchdog is unable to call your designated global error trap for any reason.

Update: v3.3.0,     19-Sep-2013

  • Added: ErrEx.IgnoreHandledErrors boolean property.  Defaults to False.  When set to True, only unhandled errors (such as OnErrorGoto0, OnErrorInsideCatch and OnErrorInsideCatchAll) will pass through to your global error trap.  This gives performance improvements if you're not at all interested in handled errors (like OnErrorResumeNext).

Update: v3.2.2,     10-Sep-2013

  • Improved VBA loader code (to disambiguate VBA engine identification if multiple instances of the VBA engine are loaded in the application process at the same time).

Update: v3.2.1,     28-Aug-2013

  • Improved: Errors that occur when processing expressions in the Watch window no longer pass through your global error trap [this also includes hovering over properties in the VB IDE]

Update: v3.2.0,     22-Aug-2013

  • Improved: The vbWatchdog installer (for developers) and the developer-addin DLL are now digitally signed to prevent excessive warnings on installation

Update: v3.1.2,     12-Aug-2013

  • Fixed: internal uninitialized variable, related to previous FailCode 1210 bug (E_VBWATCHDOG_UNSUPPORTED_VBA_VERSION)
  • Fixed (VB6 compiled files only): Procedure ordinal numbers listed in the callstack when the procedure name is unavailable was off-by-one (e.g. '{PRIVATE}#0' should have been '{PRIVATE}#1'.  Plus; Changed '{PRIVATE}#' to '{PROC}#' for clarity.

Update: v3.1.0,     08-Aug-2013

  • Improved: The error dialog now appears on the active monitor in multi-monitor situations.
  • Improved: Added a new ErrEx.SortVariables boolean property (defaulting to True) that causes the exposed list of variables to be ordered alphabetically (also affects the error dialog variables dump).
  • Improved: vbWatchdog now supports older Operating Systems like Windows 95, 98 and Windows ME which were previously unsupported.
  • Fixed: Further fixes to prevent the FailCode 1210 error encountered when calling ErrEx.Enable() in some environments.

Update: v3.0.6,     22-Jul-2013

  • ErrEx.ProjectFilterList now defaults to ";ACWZMAIN;ACWZTOOL;ACWZLIB;UTILITY;" (added the 'UTILITY' project name which is used by one of the MS Access addins)
  • Fixed: occasional FailCode 1210 when vbWatchdog gets restarted.

Update: v3.0.5,     16-Jul-2013

  • Fixed: Propagation bug (v3 only).

Update: v3.0.4,     08-Jul-2013

  • Fixed: ErrEx.ReThrow method was failing in some specific cases, causing the old VBE error dialog to appear.

Update: v3.0.3,     14-Jun-2013

  • Further improved the internal analysis of pcode for greater accuracy when determining error line numbers

Update: v3.0.2,     13-Jun-2013

  • Improved the internal analysis of pcode for greater accuracy when determining error line numbers

Update: v3.0.1,     11-Jun-2013

  • Fixed: [Enterprise Edition only] ErrEx.Enable threw E_VBWATCHDOG_NOT_OFFICE error on Office 2013.

Update: v3.0.0,     10-Jun-2013

vbWatchdog VERSION 3 has landed!

Loads of new features and improvements. Check them out here: What's new in v3

Update: v2.8.7,     22-May-2013

We are proud to announce that the eagerly anticipated VERSION 3 of vbWatchdog is currently being beta tested by a private group of developers.

The product has been months in the making, and we've ensured there's something for everyone in this major update.  Being our flagship product, we want to ensure our customers get the chance to test the pre-release version of vbWatchdog.  Please drop us an e-mail if you wish to get involved.


Customers on an active support package will receive a free upgrade. Orders since May 1st 2013 will receive a complimentary upgrade to version 3.

Some teasers...

  • A new ErrEx.State of OnErrorUnwind (like OnErrorEnd, but no reset of global variables)
  • A new ErrEx.ReThrow method for throwing a locally handled error back up the callstack when inside an ErrEx.Catch block
  • The VariablesInspector has been extended with type information inside variable-dumps (displays the default property of objects where appropriate, and also identifies the real class type of generic objects/variants where possible)
  • New properties such as:
  • ErrorDialog improvements:
    customizable graphic (including transparency options),
    OnKeyDown event,
    FlashWindowOnOpen boolean property
  • Smaller binary size than version2
  • Lower memory usage than version2
  • Many efficiency and performance improvements, with a totally re-written core
  • vbWatchdog no longer requires the 'Allow programmatic access to the VBA project' switch in VBA hosts like Excel
  • Now supports all VBA hosts, even those that don't expose an Application.VBE property, like Outlook
  • Downloadable PDF manual for registered users

Update: v2.8.7,     18-Dec-2012

  • Fixed: Setting the OnErrorDebug state wasn't always working correctly (sometimes the breakpoint was not being triggered and the error instead propagated back up the callstack)

Update: v2.8.6,     08-Dec-2012

  • Fixed: Setting the OnErrorEnd state in a global error trap inside the Access runtime environment was not always propagating the error all the way back up the callstack.

Update: v2.8.5,     24-Sep-2012

  • Fixed: VBA addin installation for when VBA is run under elevated user permissions (e.g. 'Run as administrator').  Note: must run the addin installer under the same elevated user permissions (e.g. 'Run as administrator').

Update: v2.8.4,     17-Jul-2012

  • Fixed: Office 15 beta issue with ErrEx.Enable throwing error E_WATCHDOG_SELFTESTFAIL.
  • Fixed: Office 15 beta issue with the developer Addin potentially causing a fault if installed on a machine with Office 14 also installed (and vbWatchdog enabled)
  • Known issue in Office 15 beta: ErrEx.ShowHelp() fails, and Help buttons on our error dialogs also fail - this will be fixed before Office 15 RTM.

Update: v2.8.3,     07-Jul-2012

  • Improved: Installer for users where the AppData folder location changes due to roaming profiles

Update: v2.8.2,     09-Jun-2012

  • Fixed: (VBA 64-bit only) Issue causing incorrect detection of error state OnErrorInsideCatch instead of OnErrorGoto0 in some instances. [reported by Petros Chatzipantazis, thanks]
  • Fixed: (VBA 64-bit only) Fixed crash occurring on Office 2010 SP1 for floating point exceptions triggered in class modules in some instances. [reported by Petros Chatzipantazis, thanks]

Update: v2.8.1,     31-May-2012

  • Fixed: Issue causing the error dialog to not respond to mouse input under specific circumstances (such as when an error occurs from the VBA code behind a label OnClick event).

Update: v2.8.0,     17-Apr-2012

  • Improved: Re-written the installer for the developer addin so that non-admins can now install vbWatchdog.  Installation is now always per-user, with the addin DLL being installed in the %appdata% folder rather than the machines local program files folder.

Update: v2.7.0,     02-Apr-2012

  • Improved: VBA Addin Installer now correctly installs for each Windows user after being installed from a separate Windows admin account.

Update: v2.6.9,     04-Feb-2012

  • Fixed: occasional crash on 64-bit VBA on Office 2010 X64 SP1, when an error is triggered from the immediate window.

Update: v2.6.8,     19-Dec-2011

  • Fixed: ErrEx.CallGlobalErrorHandler would sometimes fail for errors that have already propagated some way up the callstack.

Update: v2.6.7,     29-Oct-2011

  • Fixed: Support for the 64-bit VBA compiler that is included in the Access 2010 SP1 HOTFIX released yesterday KB2596585 (update 2.6.7 is only required if using 64-bit VBA)

Update: v2.6.6,     07-Oct-2011

  • Fixed: further fixes as per v2.6.5 but in relation to when an error occurs from inside the designated global error handler.

Update: v2.6.5,     06-Oct-2011

  • Fixed: propagation issues in class modules under some circumstances (affected OnErrorDebug, OnErrorEnd, OnErrorPropagate and OnErrorGoto0 error states)

Update: v2.6.4,     16-Sep-2011

  • Fixed: ErrEx.CallGlobalErrorHandler UserData parameter wasn't being copied to the ErrEx.UserData property since v2.6.0.

Update: v2.6.3,     23-Aug-2011

  • Fixed: Height of the button bar in the HTML dialog was not always being calculated correctly (depending on the default window font).
  • Fixed: ErrExVariables.Value property would throw an error when returning variable objects that have a default property defined.
  • Fixed: ErrEx.LiveCallstack was not working due to recent update

Update: v2.6.2,     29-Jul-2011

  • Fixed: dialog issues when an error was raised within a custom button event procedure of the HTML dialog

Update: v2.6.1,     28-Jul-2011

  • Fixed: Font resource leak in HTML dialog.

Update: v2.6.0,     25-Jul-2011

  • Improved: overall performance, particularly in larger projects.

Update: v2.5.0,     08-Jul-2011

  • Fixed: crash due to new optimizations in the 64-bit VBA7 compiler as of Office 2010 SP1.  (Only affects VBA7 64-bit).

Update: v2.4.0,     02-Jul-2011

  • Improved: Several minor improvements to the HTML dialog (in particular, precision of font width calculations).
  • Improved: More informative nag screen for the TRIAL edition
  • Fixed: Bug in variables inspector causing possible crash under extreme circumstances
  • Fixed: IsDebugable property was not always telling the truth
  • Updated: Licence agreement

Update: v2.3.6,     23-Apr-2011

  • Fixed: several minor issues with regards to how the error dialog makes itself modal to all other windows owned by the active process (and it now ensures the dialog is always the foremost window)

Update: v2.3.5,     30-Mar-2011

  • Fixed: correction to incorrect error state of OnErrorPropagate to OnErrorGoto0 in certain conditions when Application.Run is used to launch a procedure (errors cannot propagate back past the Application.Run call)

Update: v2.3.4,     15-Mar-2011

  • Fixed: memory leak each time ErrEx.LiveCallstack was used

Update: v2.3.3,     26-Feb-2011

  • Improved: VBA loader code for increased stability

Update: v2.3.2,     11-Feb-2011

  • Fixed: vbWatchdog now works correctly even if 'Break on all errors' has been set in the VBE IDE.
  • Added: boolean property ErrEx.PropagateUnhandledClassErrors for temporarily disabling the OnErrorGoto0 state in class modules (OnErrorPropagate will be forced instead)

Update: v2.3.0,     13-Jan-2011

  • New: Full support for Office 2010 64bit edition (VBA7 x64)
  • Added: ErrExCallstack::ProcedureKind property (to indicate sub, function, prop-get, prop-let, prop-set)
  • Improved: VariablesInspector now reports Missing Variant parameters as "Optional-Missing" rather than "#UnsupportedDataType#"
  • Improved: redesigned sample database

Update: v2.2.0,     10-Nov-2010

  • Added: ErrExDialogOptions.Timeout property (long).  Milliseconds value, defaults to 0 (off).  If set to a non-zero value, then the dialog will automatically close after the time has elapsed, returning as if the End button has been pressed (OnErrorEnd is returned).
  • Added: ErrExDialogOptions.Timedout property (boolean).  Indicates if the timeout period elapsed when the the dialog was last shown.
  • Improved: setting an ErrEx.State of OnErrorExitProcedure (or the equivalent button action) now resumes at the Finally block, if it is defined.

Update: v2.1.2,     09-Nov-2010

  • Improved: ErrExVariablesInspector.Value property now supports arrays. Note: ValueDesc does not support arrays due to the difficulty in formatting array data for general display purposes.

Update: v2.1.1,     03-Nov-2010

  • Fix for parsing of #Const code lines.

Update: v2.1.0,     02-Nov-2010

  • This updates our internal VB code parser to now fully support parsing of conditional compilation code lines. This should now resolve any issues that previously caused line numbers and procedure numbers to not be matched up when using the line numbering addin in the IDE.

Update: v2.0.14,     19-Oct-2010

  • Fixed: Error dialog display of variable names is now Unicode compliant.
  • Added: ErrExCallstack::HasResumePoint Boolean property for determining if the procedure in the callstack is currently handling an error.

Update: v2.0.13,     18-Oct-2010

  • Fixed: Recompiled without SSE CPU requirement

Update: v2.0.12,     05-Oct-2010

  • Fixed: the Error Dialog now responds to a shutdown request and other close requests by returning OnErrorEnd to the caller rather than being unresponsive.
  • Improved: ErrEx.Enable allows you to pass the raw address of your on error procedure instead of its name (only suitable for compiled ACCDEs).  Pass the address as a hex string preceded by "&H"

Update: v2.0.11,     30-Sep-2010

  • Re-release of v2.0.10 (due to build process administrative error)

Update: v2.0.10,     22-Sep-2010

  • Added ErrEx.VerifyOnErrorProcName boolean property, default value: True. Change to False before calling Enable if you don't want vbWatchdog to verify that the procedure name you entered is valid.

Update: v2.0.9,     10-Sep-2010

  • Fixed: OnErrorPropagate* could fail (and act like OnErrorEnd) under certain conditions

Update: v2.0.7,     09-Sep-2010

  • Minor bug fix relating to previous update v2.0.6.

Update: v2.0.6,     08-Sep-2010

  • Fixed: Support for the original Office 2000 VBE6.DLL

Update: v2.0.5,     08-Sep-2010

  • Fixed: ErrExDialogOptions.DefaultButtonID now Long datatype rather Boolean.

Update: v2.0.4,     07-Sep-2010

  • Improved: ErrEx.IsDebugable property and OnErrorDebug state to allow debugging when any call in the callstack is debugable (rather than just checking the top level call as per previous versions).

Update: v2.0.3,     07-Sep-2010

  • Fixed: ErrEx.CallGlobalErrorHandler can now be called from a higher call in the call stack, and it will safely propagate back to the procedure in the callstack that had the last error.

Update: v2.0.2,     06-Sep-2010

  • Fixed: VariablesInspector crash when a procedure within a class having a class type return value raised an error.

Update: v2.0.1,     03-Sep-2010

  • Added: ErrEx.IsEnabled property

Update: v2.0.0,     02-Sep-2010

  • Initial Release.