2009-03-31 3 views
1

프로덕션 서버에서 이상한 버그가 발생했습니다. 스택 추적이 있지만 줄 번호가 없으므로 버그는 있지만 정확한 줄은 알지 못합니다. "개체 참조가 개체의 인스턴스로 설정되지 않았습니다."라는 불평을합니다. 뭔가가 null입니다. 요청이 null의 경우ASP.NET HttpRequest가 null 일 수 있습니까? CurrentExecutionFilePath는 어떻습니까?

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

던질 것이다, 또는 요청의 CurrentExecutionFilePath가 있다면 :

코드보고 후, 내가 볼 수있는 유일한 두 가지 가능성이 범인이 읽은 두 개의 연속 된 라인은 없는. 나는 이것이 언제 일어날 수 있는지에 대해 분명하지 않다. 내가 여기 잘못된 나무를 짖고 있니? 이 코드는 페이지 수명주기의로드 부분에서 실행되는 것 같습니다.

답변

2

릴리스 빌드에 대해 PDB 출력을 사용할 수 있습니까?

스택 추적에서 줄 번호를 가져 오려면 프로덕션 서버에만 pdb를 배포해야합니다.

+0

나는 수퍼 빌드를 확인해야 할 것입니다. 만약 그가 할 수 있는지, 아니면 그가 이것에 대해 어떤 제한을 가졌는지 확실하지 않습니다. 그러나 그 아이디어는 건전합니다. – Beska

2

이상하게도 충분히 원인을 찾을 수 없어도 프로덕션 서버에서 null HttpRequest 오류 (여러 번)가 발생했습니다.

는 그게 무엇이든지 당신에게 아무 소용하지만 단지 연대 :)에서 쓰고 있어요 알고

나는 절반 IIS 다시 /Default.aspx에 만에 뿌리를 매핑하지 함께 할 수 있었다 기억

하나 개의 잠재적 인 것은 , 이것은 오래 전부터 있었으므로 이러한 잠재적 인 도움이되지 않는 말투에 너무 많은주의를 기울이지 마십시오 !!!

+0

실제로, 그것은 사용 중입니다 ... 나는 그것이 일어날 수 있는지 확신 할 수 없으므로, 그것이 할 수있는 독립적 인 검증을 갖는 것이 유용합니다. 감사. – Beska

3

요청을 (PDB 및 DLL을 일치해야) 및/또는 HttpContext를 당신이 당신의 첫번째에서 스레드를 시작할 경우는 null이 될 수 있습니다. (비동기 처리 등)

관련 문제