1

私は、この問題に関して公開されたほとんどすべてのブログ投稿、記事、およびヘルプ ドキュメントを読みましたが、役に立ちませんでした。最も一般的な提案は次のとおりです。

  1. Internet Explorer -> Tools Menu -> Internet Options -> Advanced -> Show Friendly Error Messages (これがチェックされていないことを確認してください)

  2. IIS -> [ホーム ディレクトリ] タブ -> [構成...] -> [デバッグ] タブ -> [詳細な ASP エラー メッセージをクライアントに送信] (これが選択されていることを確認してください)

これらはどちらも機能せず、IIS の Plesks 管理に関係しているように感じます。これらの内部サーバー エラーが何であるかを確認する方法はありますか? サーバーをブラウジングしてログファイルを探すことを意味する場合でも?

4

5 に答える 5

3

class_terminate イベントを使用すると、iis 構成に触れることなくグローバル エラー ハンドラーを作成できます。ASP でエラーが発生すると、構成された 500 ハンドラを server.execute し、元のスクリプトに戻って残りのすべてのオブジェクトをクリーンアップします。

これにより、グローバル デバッガー オブジェクトを作成し、class_terminate イベントを使用してエラーを処理する機会が提供されます (デバッグ情報の出力など)。

例えば:

class cDebugger
    private sub class_terminate
        if err then
            response.clear
            dim asp_error
            set asp_error = server.getLastError()
            response.write asp_error.description
            ...
            ...
        end if
    end sub
end class
set [_debugger] = new cDebugger
于 2009-12-04T11:28:02.780 に答える
2

以下は Plesk のみに適用されます。

Plesk コントロール パネルのドメインに進み、[物理ホスティング設定] の下の [カスタム エラー ドキュメント] をオフにします。これにより、エラー メッセージがブラウザに直接送信されます。

ログ ファイル ディレクトリにもエラー メッセージがあります。yourdomain.com\statistics\logs\W3SVCXXXX

于 2009-12-14T03:13:35.177 に答える
1

Agent_9191によって刺激されたアイデア:

ページの上部に次のように入力します。

On Error Resume Next

そして、ページの下部に次のように入力します。

If Err.Number <> 0 Then Response.Write(Err.Description)

ページコードを変更せずにIISから直接デバッグする他のアイデアはありますか?

于 2009-12-04T08:06:51.593 に答える
0

ASP Classic 開発者 (IIS 7.0 を使用) 向けの別の伝説的なページは次のとおりです。

http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx

于 2009-12-04T08:30:28.357 に答える