Microsoft KB Archive/248115

{|
 * width="100%"|

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