開発するとき、私はPDBファイルがビルドされる理由を理解しています。しかし、本番サーバー用にWebサイトを展開すると、PDBファイルはまだ存在します。理由がわかりません。
それらを本番環境で削除するか、そのままにしておく必要がありますか
PDB ファイルを使用すると、アプリケーションが未処理の例外をスローしたときに、コードのスタック トレースをログに記録できます。
Web サイトCustomErrors
の web.config が に設定されているOFF
場合、エラー コードは誰にでも表示されます。これは悪いです。
Web サイトCustomErrors
の web.config が に設定されているON
場合RemoteOnly
、エラー コードは公開されませんが、サーバーのイベント ログで StackTrace を見つけることができ、コード内のエラーを追跡するのに役立つ場合があります。 . これで結構です。
PDB を削除した場合 (または、プロジェクトのビルド/発行構成を介して発行を停止した場合)、サイトはコードをスタック トレースに記録しませんが、他のスタック情報は記録します。いずれにせよ、常にCustomErrors
web.config でON
またはに設定してくださいRemoteOnly
。常にこれを行います。
安全に削除できます。これらは、デバッグおよびコード ソースの目的で使用されます。
pdb ファイルをデプロイしたくない場合は、プロジェクト設定で (プロジェクトを右クリックして [プロパティ] > [ビルド] を選択します):
展開に使用している を選択Configuration:
し (例: Release
)、Output
セクションで- ボタンを押して[高度なビルド設定]Advanced..
を開き、に設定します(通常はリリース モードです)。Debug Info:
none
pdb-only
その後、リリース モードでデプロイするたびに、pdb ファイルは生成されません。
PDB ファイルはデバッグ用ですが、運用サーバーに残すことができます。悪いことは起こらない