asp程序出錯后,錯誤提示不是很清楚明白,讓人摸不著頭腦,用下面方法看看有沒有幫助(此法目前只適合處ADO錯誤外的錯誤) 步驟一,用編輯器打開c:\winnt\help\iisHelp\common\500-100.asp 將它另存為500-101.asp備份(以便日后恢復) 步驟二,將下面的代碼覆蓋500-100.asp原文件,保存退出 步驟三,創建新文件test.asp,添加如下代碼 <% response.write now(1)%>,存盤退出 步驟四,在瀏覽器中輸入localhost/test.asp查看結果
500-100.asp的新代碼: <%@ language="VBScript" %> <% Option Explicit
Const lngMaxFormBytes = 200
Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP Dim strMethod, lngPos, datNow, strQueryString, strURL
If Response.Buffer Then Response.Clear Response.Status = "500 Internal Server Error" Response.ContentType = "text/html" Response.Expires = 0 End If
Set objASPError = Server.GetLastError %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html dir=ltr>
<head> <style> a:link {font:9pt 宋體; color:FF0000} a:visited {font:9pt 宋體; color:#4e4e4e} </style>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<title>本頁出錯</title>
<META HTTP-EQUIV="Content-Type" Content="text-html; charset=gb2312"> <META NAME="MS.LOCALE" CONTENT="ZH-CN"> </head>
<script> function Homepage(){ <!-- // in real bits, urls get returned to our script like this: // res://shdocvw.dll/http_404.htm#http://www.DocURL.com/bar.htm
//For testing use DocURL = "res://shdocvw.dll/http_404.htm#https://www.microsoft.com/bar.htm" DocURL=document.URL; //this is where the http or https will be, as found by searching for :// but skipping the res:// protocolIndex=DocURL.indexOf("://",4); //this finds the ending slash for the domain server serverIndex=DocURL.indexOf("/",protocolIndex + 3);
//for the href, we need a valid URL to the domain. We search for the # symbol to find the begining //of the true URL, and add 1 to skip it - this is the BeginURL value. We use serverIndex as the end marker. //urlresult=DocURL.substring(protocolIndex - 4,serverIndex); BeginURL=DocURL.indexOf("#",1) + 1; urlresult=DocURL.substring(BeginURL,serverIndex); //for display, we need to skip after http://, and go to the next slash displayresult=DocURL.substring(protocolIndex + 3 ,serverIndex); document.write( '<A HREF="' + escape(urlresult) + '">' + displayresult + "</a>"); } //--> </script>
<body bgcolor="FFFFFF">
<ul> <li>錯誤類型:<br> <% Dim bakCodepage bakCodepage = Session.Codepage Session.Codepage = 936 Response.Write Server.HTMLEncode(objASPError.Category) If objASPError.ASPCode > "" Then Response.Write Server.HTMLEncode(", " & objASPError.ASPCode) Response.Write Server.HTMLEncode(" (0x" & Hex(objASPError.Number) & ")" ) & "<br>"
If objASPError.ASPDescription > "" Then Response.Write Server.HTMLEncode(objASPError.ASPDescription) & "<br>" %> </li> <p> <li>錯誤位置:<br> <% blnErrorWritten = False
' Only show the Source if it is available and the request is from the same machine as IIS If objASPError.Source > "" Then strServername = LCase(Request.ServerVariables("SERVER_NAME")) strServerIP = Request.ServerVariables("LOCAL_ADDR") strRemoteIP = Request.ServerVariables("REMOTE_ADDR") If (strServername = "localhost" Or strServerIP = strRemoteIP) And objASPError.File <> "?" Then Response.Write Server.HTMLEncode(objASPError.File) If objASPError.Line > 0 Then Response.Write ", 第 " & objASPError.Line & " 行" If objASPError.Column > 0 Then Response.Write ", 第 " & objASPError.Column & " 列" Response.Write "<br>" Response.Write "<font style=""COLOR:000000; FONT: 9pt 宋體""><b>" Response.Write Server.HTMLEncode(objASPError.Source) & "<br>" If objASPError.Column > 0 Then Response.Write String((objASPError.Column - 1), "-") & "^<br>" Response.Write "</b></font>" blnErrorWritten = True End If End If
If Not blnErrorWritten And objASPError.File <> "?" Then Response.Write "<b>" Response.Write Server.HTMLEncode(objASPError.File) If objASPError.Line > 0 Then Response.Write Server.HTMLEncode(", 第 " & objASPError.Line & " 行") If objASPError.Column > 0 Then Response.Write ", 第 " & objASPError.Column & " 列" Response.Write "</b><br>" End If %> </li> <p> <li>錯誤描述:<br> <% response.write Server.HTMLEncode(objASPError.description) %> </li> <p>
</body> </html>
|