How do I debug a release build?
-
I know the title's inflammatory, but what I'm asking is, are there any tools out there that let me figure out more closely wtf is crashing in a release build, other than
MFC42.DLL exception 0xC00000191
000191: ???
000192: ???
000193: ???Something like windows message monitor?? It's an MFC app, interfaces with some multithreaded COM dlls. ty
-
I know the title's inflammatory, but what I'm asking is, are there any tools out there that let me figure out more closely wtf is crashing in a release build, other than
MFC42.DLL exception 0xC00000191
000191: ???
000192: ???
000193: ???Something like windows message monitor?? It's an MFC app, interfaces with some multithreaded COM dlls. ty
If you create a Program DataBase (PDB) file with Debug-information, then you can debug Release builds. Set the C++/C compiler option "Debug Information Format" to "Program Database" and set the Linker option "Generate Debug Info" to "YES /DEBUG". If you also want to use watches etc. while debugging the release build, then you can set the C++/C compiler option "Optimisation" to "Disabled".
-
If you create a Program DataBase (PDB) file with Debug-information, then you can debug Release builds. Set the C++/C compiler option "Debug Information Format" to "Program Database" and set the Linker option "Generate Debug Info" to "YES /DEBUG". If you also want to use watches etc. while debugging the release build, then you can set the C++/C compiler option "Optimisation" to "Disabled".
-
You don't have to 'mimic' a breakpoint when you have enabled debug information in the Release build - just put one in as with a Debug build. The only problem is that as optimisations are turned on, you'll find the following problems:
- Some, or possibly all, local data items won't be accessible - hte compiler may have optimised away all need for them
- Some lines of code won't take a breakpoint. This is because they've been optimised away.
- The assembly language can be more difficult to trace to the source than when optimisations are turned off
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p