2009-03-31 8 views
1

運用サーバーで奇妙なバグが発生しています。私たちはスタックトレースを持っていますが、行番号はありませんので、バグがあるメソッドを知っていますが、正確な行はわかりません。これは、 "オブジェクトのインスタンスに設定されていないオブジェクト参照"という文句です。何かがnullです。リクエストがnullだった場合ASP.NET HttpRequestがnullになることはありますか? CurrentExecutionFilePathはどうですか?

string currentPath = this.Request.CurrentExecutionFilePath; 
string[] parts = currentPath.Split('/'); 

投げることになる、またはリクエストのCurrentExecutionFilePathだった場合:

コードを見た後、私が見ることができる唯一の二つの潜在的な犯人は読み二つの連続線でありますヌル。私は、これがいつ起こるかについて(あるいは、たとえそうであっても)本当に明確ではない。私はここで間違った木を吠えていますか? (このコードは、ページライフサイクルのロード部分で実行されているようです)。

答えて

2

リリースビルドでPDB出力が有効になっていますか?

プロダクションサーバにpdbをデプロイするだけで、スタックトレースの行番号を取得する必要があります。

(PDBとDLLが一致しなければならない)

+0

私はビルスーパーをチェックしなければならないでしょう...彼がそうしているかどうか、あるいは彼がこれに何か制限を持っているかどうかは分かりません。しかし、そのアイデアは健全です。 – Beska

2

奇妙なことに、派生的なHttpRequestエラー(数多く)が本番のサーバー上で原因を突き止めることなく何度も見てきました。

私はそれが全くあなたには役に立たない知っているが、ちょうど連帯の外に書いています:)私は半分覚え

一つの潜在的なことは、IISが/Default.aspxにルートをマップしないとやっていたが、再びこれはずっと前のことだったので、これらの潜在的な助けになるほどの注意を払わないでください!!!

+0

実際には、それは使用されています...私はそれが起こる可能性があるとは思えませんでした。ありがとう。 – Beska

3

あなたが最初の1からのスレッドを起動した場合、要求および/またはのHttpContextがnullにすることができます。 (非同期処理など)

関連する問題