Toggle navigation
Software Tools
All Tools
All Software Tools. Commercial tools, and free tools.
Code Coverage
View your code coverage in real-time.
Deadlock Detection
Find and fix deadlocks, slow locks, busy locks, and long waits.
Execution Tracing
The “How did I get here from there?” for your application.
Memory Leak Detection
Monitor billions of memory allocations with ease.
Performance Profiling
Find the slow parts of your software quickly and easily.
Developers
Blog
What we’re thinking about, what itch we’re scratching today.
Library
Selected articles from our blog grouped into related topics.
Documentation
Documentation for each tool. Online. PDF. HTML Help.
Tutorials
Step by step tutorials with text, images and video.
Purchasing
Purchase Software Tools
Resellers
Testimonials
About
About Software Verify
Why we exist. What makes us get up the morning. That sort of thing.
Contact Us
Need to contact us? Please send us a message.
Customer Support
Got a problem? Need some Help? Contact support now.
Reporting a Bug
Found a bug? Report it using this form.
Privacy Policy
How we treat any data that you provide to us.
Cookie Usage Policy
We promise not to feed the Cookie Monster.
License Information
How our licences work.
Hints and Tips
How do you do that? Find out…
Environment variables
Using and debugging environment variables
Exception codes you've never heard of
Exception codes from Windows SDK, Visual Studio, .Net, Embarcadero.
Source code viewing
Viewing source code that's in the wrong place.
Stdout redirection and capture
Configuring Validators to redirect stdout and/or capture stdout.
Setting up ISAPI on IIS 10
Settings up IIS 10 so that it can use ISAPI extensions
How to name threads
Naming threads using exceptions, SetThreadDescription() and CreateThread().
How to output to stdout from MFC
MFC programs can't write to stdout unless you do this.
The correct way to determine if a file is a directory
A naive approach to GetFileAttributes() will not always give you the correct results.
Make your program support high DPI
How to make your program support high dpi monitors - the easy way.
Cannot open type library
Cannot open type library file error on x64-systems
Improve your code with static analysis tools
We list many static analysis tools and pricing.
Improve MFC memory performance
Improving the performance of MFC arrays.
Problems when subclassing controls
Subclassing gotchas for tracking mouse movements.
Don't try this at home, custom control time sink
If you forget to call the base class method implementations, things won't go as planned.
Removing warning c4985
Removing annoying ceil attributes not present on previous declaration warning c4985
Writing data to a resource
How to embed data in a resource
Reading data from a resource
How to read embedded data from a resource
Seeding the random number generator to a random place
Dont use srand(clock); use srand((unsigned)time(null)) instead.
How to replace IsBadReadPtr()
Alternative implementations for IsBadReadPtr() and IsBadWritePtr().
The cost of using OutputDebugString()
The performance penalties incurred by using OutputDebugString().