Microsoft KB Archive/248115

From BetaArchive Wiki

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.