可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I inherited a classic ASP project and and have deployed it on a IIS 7.5. I am able to access the site, however at certain point I get a generic 500 error page. I want to know what is going on, so I think the best is to see the logs
For the record, I am a newbie with IIS/ASP so the question can sound a bit silly.. Thanks for any suggestion!
回答1:
You should install the HTTP Errors feature in IIS. This is enough to view the error message -- you won't need logging.
- Go to the Programs and Features control panel.
- Select "Turn Windows features on or off"
- Drill down to Internet Information Services > Word Wide Web Services > Common HTTP Features and select "HTTP Errors" (While you're at it, you can install the logging feature by drilling down to Internet Information Services > Word Wide Web Services > Health and Diagnostics and selecting "HTTP Logging".)
- Click OK to install.
Once installed, configure IIS to show detailed error messages:
- In the IIS settings for your site you should now see an Error Pages option. Double-click it.
- Click Edit Feature Settings.
- Select either "Detailed errors" or "Detailed errors for local requests..." depending on whether you are doing local development or not.
- In the IIS settings for your site, double-click the ASP option.
- Expand Debugging Properties and set "Send Errors To Browser" to true.
You should now see detailed error messages.
IIS logs won't help you because they do not include the detailed error messages.
回答2:
This will write the error info to the screen. Modify the "If blnLogFailure" section if you want to write to a file.
On Error Resume Next Set objASPError = Server.GetLastError blnLogFailure = TRUE myMessage = "ERROR IN PROCESSING: " & objASPError.File & vbCrLf myMessage = myMessage & "ASP Code: " & objASPError.ASPCode & vbCrLf myMessage = myMessage & "Number: " & objASPError.Number & vbCrLf myMessage = myMessage & "Source: " & objASPError.Source & vbCrLf myMessage = myMessage & "Line Number: " & objASPError.Line & vbCrLf myMessage = myMessage & "Description: " & objASPError.Description & vbCrLf myMessage = myMessage & "ASP Description: " & objASPError.ASPDescription & vbCrLf for each item in Request.ServerVariables myMessage = myMessage & "ITEM: " & item & " VALUE: " & Request.ServerVariables(item) & vbCrLf next If blnLogFailure Then Response.Write myMessage End If