This tutorial demonstrates launching the sample application, crashing the application and using Bug Validator to identify the location and cause of the crash.
We will demonstrate this with MFC and without MFC to show the benefits (clearer execution trace) and deficits (missing execution trace data) of tracing with MFC and without MFC.
This tutorial analyses a simple NULL pointer dereference crash.
The tutorial is performed with MFC code instrumented so that MFC message processing and pointer validation calls are part of the application trace.
// test of dereferencing a NULL pointer DWORD *dwPtr; dwPtr = NULL; // the next line will crash *dwPtr = 0;
Scroll up from the bottom of the list until you get to the yellow item, which indicates an exception.
You can see details about the exception shown above the source code.
This tutorial analyses a simple NULL pointer dereference crash.
The tutorial is performed without MFC code instrumented, so that MFC message processing and pointer validation calls are not part of the application trace.
This makes the trace simpler to understand, with the penalty that if the crash is within MFC, you cannot see the trace to the location of the crash.
The last line is the statement that caused the crash.