Microsoft KB Archive/248115
FIX: Trace Flag 2521 Treat Exception as Unhandled, Plus Capturing Crash Dump
The information in this article applies to:
- Microsoft SQL Server version 7.0
BUG #: 56750 (SQLBUG_70)
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.
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:
For more information, contact your primary support provider.
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.
- You must have sqlservr.pdb, .exe, and .dmp in the same directory for Visual C 6.0 to read the symbols correctly.
- Make following registry entry:
- Make sure you have access to the crash dump file, and sqlservr.pdb, .dbg, and source files.
- In Visual C 6.0, select File and then Open Workspace.
- Select "Dump Files" in the Files of type combo box.
- 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:
- Select Build, point to Start Debug, and then click Go (or F5). This pseudo-starts the crash dump.
- 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