Microsoft KB Archive/131006

From BetaArchive Wiki
Knowledge Base


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

Article ID: 131006

Article Last Modified on 9/1/2005



APPLIES TO

  • Microsoft Visual C++ 2.0 Professional Edition
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 4.0 Standard Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++ 6.0 Standard Edition
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Visual C++ 6.0 Standard Edition



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.

  1. Click the Link tab.
  2. In the Category list, click Debug.
  3. Click to select the Generate Debug Info check box.
  4. Click Both Formats to include COFF and Microsoft Format symbols.
  5. Rebuild the application.



Additional query words: prodnt

Keywords: kbprb KB131006