Mais Populares

19 de abril de 2017

Exibir erros 500.100 mesmo com bloqueios no IIS impedindo visualizar erros remotamente



Se você está trabalhando com ASP Classic, e pegou um servidor que não exibe de forma alguma o erro que está sendo exibido, mostrando páginas que impedem visualizar e depurar qual o problema, segue um script customizado para inspecionar os erors para que possam ser analisados com facilidade.

Inclusive este script permite que se houver erro, e se melhorado, possa realizar outras atividades como rastrear erros com usuários e salvar em banco de dados ou disparar e-mails.

Mas isto só funciona com erros provindos de páginas em ASP.





Página de erros customizada, exibindo os erros internos como padrão de "Detailed".
<%@ language="vbscript" codepage="65001" %>
<%
response.Charset = "utf-8"
x= ""
dim objError
Set objError = Server.GetLastError()
select case lcase(Hex(objError.Number))
case "800a03ea"
x=x&"Microsoft VBScript erro de compilação (" & lcase(Hex(objError.Number)) & ")" & vbcrlf case "800a000b"
x=x&"Microsoft VBScript erro de execução (" & lcase(Hex(objError.Number)) & ")" & vbcrlf case "80004005" ' ASP Code
x=x& "Active Server Pages error '" & objError.ASPCode & "'" & vbcrlf case else
x=x&"Microsoft VBScript erro (" & lcase(Hex(objError.Number)) & ")" & vbcrlf end select
If Len(CStr(objError.Description)) > 0 Then
x=x& vbcrlf & objError.Description  & vbcrlf
End If
If Len(CStr(objError.ASPDescription)) > 0 Then
x=x& objError.ASPDescription  & vbcrlf
End If
If Len(CStr(objError.File)) > 0 Then x=x& vbcrlf & objError.file
If Len(CStr(objError.Line)) > 0 Then
p=p&", linha " & objError.Line
x=x& ", linha " & objerror.line
End If x=x& vbcrlf
End If
If Len(CStr(objError.Source)) > 0 Then
x = x & vbcrlf & objError.Source & vbcrlf
If Len(CStr(objError.Column)) > 0 Then
for i = 1 to objError.Column
x=x&"-"
next
x=x&"^"
end if End If
response.write "<pre style=""font-family:arial;font-size:13px;"">" & x & "</pre>"
response.end()
%>



Arquivo Web.Config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <defaultDocument>
            <files>
<clear />
<add value="default.aspx" />
<add value="default.asp" />
<add value="index.asp" />
<add value="index.aspx" />
<add value="index.php" />
            </files>
        </defaultDocument>
<httpErrors errorMode="Custom">
<remove statusCode="500" subStatusCode="100" />
<error statusCode="500" subStatusCode="100" path="/_iis_erros.asp" responseMode="ExecuteURL" />
</httpErrors>
    </system.webServer>
</configuration>

Nenhum comentário :

Postar um comentário

Deixe seu comentário abaixo e curta Tutorial TI no facebook!