Bug Validator provides automatic execution tracing of applications as they run.
There is no need to recompile or relink your application.
Just launch your application from Bug Validator and start collecting data immediately.
Bug Validator uses your software’s debug information stored in PDB files and/or MAP files to perform the instrumentation of your software.
You don’t need to modify your software unless you are writing a service or working with IIS.
If you’re working with a service or IIS there is a simple API you can use that you can “fit and forget”.
When your software crashes you want to know How did I get here from there?
Which variables were modified? Which functions were called? Did any exceptions get thrown? How many threads were involved? Was it just code in this DLL, or were multiple DLLs involved? All these questions and more will be answered in the execution trace.
Bug Validator allows you to perform execution tracing on your entire application, or on just the DLLs you require. You can also prevent DLLs, source code files, classes and methods from being instrumented.
The execution history of your application is recorded line-by-line as each section of code corresponding to each source code line is executed. When working with multi-threaded applications, you can see the context switches between each thread. If you get a bug of any kind, Bug Validator will have a log of all the lines executed up until the point of the crash, not just the callstack for the crash.
This makes Bug Validator an excellent tool for identifying otherwise hard-to-detect bugs and crashes. Combined with the companion software tool, Bug Validator Client, you can identify the causes of crashes at customer sites without compromising your symbolic debugging information.
Every function, line, and exception recorded for each thread executing is shown here. If you want to see what path your program took before it crashed, this is the place to do that.
Each line in the display shows the thread ID, module name, address, filename, line number, and function name and offset from the function for each line of code executed.
Selecting a line displays the corresponding parameters, local variables, registers, exception data, and source code in the window at the right of the display.
View all threads at the same time, or just the thread you are interested in.
A thread selector allows you to choose which execution traces to view.
You can have the full-fat display with all the data displayed, or just trim the displayed data to the very particular items that you’re interested in.
Each line displays the parameters to pass to the function in the parameters tab.
Each line displays the local variables in the locals tab.
Each line displays the register values in the registers tab.
If your program throws an exception, when you select the exception event the exception data is shown on the params tab.
Instrumenting software doesn’t always proceed as planned:
To deal with such situations we log a lot of data to the diagnostic tab so that you can inspect the data to understand what happened if something isn’t working.
The diagnostic tab is the place to examine when things aren’t working as you expect.
The diagnostic tab reports:
If you need support for older Windows operating systems (for example you may be using Windows 2000 Embedded) we can provide special builds for these operating systems. Please contact us for details.
Bug Validator runs on Windows 11 through Windows XP. Bug Validator is currently in beta testing. We welcome comments from the public software community about Bug Validator.
Developers accepted to the Bug Validator beta programme will receive the following benefit:
Developers that submit valid bug reports, feedback and/or feature requests that make it into the product will receive a 50% discount from the full product price.
Developers that we feel have contributed more to the bug report and feedback process will receive free licenses for the software. This will be at the sole discretion of Software Verify.
Not all applicants will be accepted, we wish to keep the number of users restricted to developers that will actively use the software tool, rather than people that are curious about such technology. We feel that the former group will give more relevant feedback on Bug Validator’s feature set and product benefits.
The more information you provide about your company and the software development work you perform the better we will be able to assess your application to join the beta programme. Anonymous beta applications will be rejected.
If you would like to test Bug Validator please contact support@softwareverify.com.