Microsoft KB Archive/248115

From BetaArchive Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

FIX: Trace Flag 2521 Treat Exception as Unhandled, Plus Capturing Crash Dump

Q248115



The information in this article applies to:


  • Microsoft SQL Server version 7.0



BUG #: 56750 (SQLBUG_70)


SYMPTOMS

Prior to Microsoft SQL Server 7.0 SP2 trace flag 2521 (turn off stackdumped AVs to allow process dumps) did not work properly. If -T2521 was used, upon an AV, nothing would happen, but the following error message appears:

User disabled AV/Stack overflow handling -- server will terminate

The server stayed up and Dr. Watson (or whatever default debugger is configured) was never invoked.

The -T2521 feature is needed to facilitate capturing a Sqlservr.exe user-mode crash dump for postmortem analysis. Starting with SQL Server 7.0 SP2 this trace flag works.



STATUS

Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server 7.0. For information about how to download and install the latest SQL Server Service Pack, see the following Microsoft Web site:

http://support.microsoft.com/highlights/sql.asp

For more information, contact your primary support provider.



MORE INFORMATION

To examine the resultant user-mode crash dump file under the Visual C 6.0 debugger, the following steps are needed. You can also user windbg, but Visual C 6.0 seems to work better. In many cases you will be working jointly with SQL development, and since SQL development not familiar with windbg using Visual C 6.0 is probably best. Visual C version 5.0 will not work.


  1. You must have sqlservr.pdb, .exe, and .dmp in the same directory for Visual C 6.0 to read the symbols correctly.
  2. Make following registry entry:
  3. Make sure you have access to the crash dump file, and sqlservr.pdb, .dbg, and source files.
  4. In Visual C 6.0, select File and then Open Workspace.
  5. Select "Dump Files" in the Files of type combo box.
  6. Locate the crash dump and click Open. Alternatively, instead of using steps 4-6 you can just type the following provided the preceding registry value is properly set:
  7. Select Build, point to Start Debug, and then click Go (or F5). This pseudo-starts the crash dump.
  8. Debug as normal. You can select threads, view locals, and so forth. Note while this gives the appearance of running sqlservr.exe under a debugger, not all debugger operations are available. For example, you cannot single-step through source, nor set a breakpoint, etc.

Additional query words:

Keywords : kbSQLServ700bug kbDSupport
Issue type : kbbug
Technology : kbSQLServSearch kbAudDeveloper kbSQLServ700


Last Reviewed: June 13, 2001
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.