Question

I have a fairly standard C++/QT app that works fine in debug and release on my development PC. When trying out the release version on a clean PC it runs but part of the functionality (showing video via a USB connection) just doesn't run. Well, seen this before and my standard technique is to add debug information to the release build, setup remote debugging and have a look. Much to my surprise, it runs fine as a release build with debug info (.pdb) I have never seen this before.

using dependency walker shows no problems with any dependencies. Using the profiler that is a part of Dependency Walker and it also runs perfectly.

I have run out of debugging techniques and the only thing I can think of is to add message boxes at various places which in a multi threaded application does not seem a good idea.

Is there a debugging technique that could help me find this problem? We're using VS2008 and Qt 4.7.1.

Was it helpful?

Solution

Refine your message boxes - use a log file.

From your description, it seems to me that there may be some sort of race condition/timing issue that gets solved when some thread or other gets slowed down by being observed by something. Or by adding debug info to the binary.

Using a log file with timestamps, you should be able to keep track of when things happen.

OTHER TIPS

I think logging is your friend. If you have multiple threads you may want to log each thread to different log file.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top