Dr Watson does not log stack symbols in the postmortem debug log in Visual C++ applications (131006)



The information in this article applies to:

  • Microsoft Visual C++ 2.0
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 4.0
  • Microsoft Visual C++, 32-bit Enterprise Edition 5.0
  • Microsoft Visual C++, 32-bit Enterprise Edition 6.0
  • Microsoft Visual C++, 32-bit Professional Edition 5.0
  • Microsoft Visual C++, 32-bit Professional Edition 6.0
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • Microsoft Windows NT Server 3.1
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0
  • Microsoft Visual C++ Standard Edition, version 6.0

This article was previously published under Q131006

SYMPTOMS

Dr. Watson doesn't log stack information in the postmortem debug log if the application was built by using the default settings in Visual C++ 2.x and later versions.

CAUSE

Dr. Watson can be configured to log debug information into a log file when an unhandled user mode exception occurs. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

121434 Specifying the debugger for unhandled User mode exceptions

With applications built by using Visual C++ version 1.0, the stack information includes the symbol information for the functions on the stack frame. With applications built with Visual C++ versions 2.x and later this information is no longer included. This results in an incomplete log.

This is because Dr. Watson requires that symbol information be in COFF format. By default, the Visual C++ version 1.0 link build options included both COFF and Microsoft Format debug symbols. However, with Visual C++ versions 2.x and later, this has changed; only Microsoft Format style symbols are included.

RESOLUTION

To build the application with the required symbols for Dr. Watson, the build parameters must be changed for the project. Follow these steps from within the Visual C++ integrated development environment:
  1. Load the desired project.
  2. In Visual C++ version 4.0, click Settings on the Build menu.

    In Visual C++ 2.x and Visual C++ 6.0, click Settings on the Project menu.
  3. Click the Link tab.
  4. In the Category list, click Debug.
  5. Click to select the Generate Debug Info check box.
  6. Click Both Formats to include COFF and Microsoft Format symbols.
  7. Rebuild the application.

Modification Type:MajorLast Reviewed:9/1/2005
Keywords:kbprb KB131006 kbAudDeveloper