Blog

This blog is where we help you improve your software, teach you how to use our tools to solve problems, software tool use cases, and improvements to our software tools.

Test Setup
July 20, 2010
Avatar for Stephen Kellett
Stephen Kellett

Problems building Firefox

I’ve been building Firefox on Windows recently. Without problems. But then I wanted a build with symbols and that is when the problems started. It […]

Coverage Profiler
July 19, 2010
Avatar for Stephen Kellett
Stephen Kellett

Doing good work can make you feel a bit stupid

Doing good work can make you feel a bit stupid, well that’s my mixed bag of feelings for this weekend. Here is why… Last week […]

Memory
July 10, 2010
Avatar for Stephen Kellett
Stephen Kellett

How to prevent a memory tool from monitoring your C/C++ allocations

A little known fact is that the Microsoft C Runtime (CRT) has a feature which allows some allocations (in the debug runtime) to be tagged […]

Hints and tips
July 9, 2010
Avatar for Stephen Kellett
Stephen Kellett

Don’t use srand(clock()), use srand((unsigned)time(NULL)) instead

Typically you use srand() when you need to start the random number generator in a random place. You may do this because you are going […]

Avatar for Stephen Kellett
Stephen Kellett

64 bit porting gotcha #1! x64 Datatype misalignment.

Datatype misalignment, there is a topic so interesting you’d probably prefer to watch paint dry. But! There are serious consequences for getting it wrong. So […]

Porting to Win64
June 10, 2010
Avatar for Stephen Kellett
Stephen Kellett

First steps to 64 bit

Today Thread Validator 64 bit took it’s first steps on its 64 bit training wheels. Interesting problems including DLL Hooking DLL Import structure walking Injecting […]

Porting to Win64
June 4, 2010
Avatar for Stephen Kellett
Stephen Kellett

How to do cpuid and rdtsc on 32 bit and 64 bit Windows

With the introduction of WIN64, the C++ compiler has many improvements and certain restrictions. One of those restrictions is no inline assembly code. For those […]

Memory
May 26, 2010
Avatar for Stephen Kellett
Stephen Kellett

How to replace IsBadReadPtr?

The Microsoft Win32 API contains various functions that look useful at first sight but which have now become regarded as a pariahs. A good example […]

Profiler
May 21, 2010
Avatar for Stephen Kellett
Stephen Kellett

The cost of using OutputDebugString

Should you use OutputDebugString? Is that an unusual question to ask? How often have you thought about the potential cost of using OutputDebugString (or TRACE, […]

Memory
May 8, 2010
Avatar for Stephen Kellett
Stephen Kellett

Monitoring memory use in a JNI DLL called from Java

Java is a garbage-collected language that allows you to extend the language with code written in C and C++. Given that the extensions are written […]

Fully functional, free for 30 days