2

나는 ASP.NET 웹 사이트가 IIS를 죽음의 소용돌이 모양으로 보내는 WCF 서비스 메서드를 호출하려고 시도하는 특히 불쾌한 버그를 겪었습니다 ... 궁극적으로 관련 앱 풀을 가져옵니다. 처리되지 않은 예외를 출력하는 log4net 코드에는 절대 도달하지 않습니다. 내가 W3wp.exe를 프로세스를보고 있었다Visual Studio 2010에서 ASPNET 작업자 프로세스의 덤프 파일을 디버깅하려면 어떻게해야합니까?

은 스핀 업 죽는, 그래서 내가 종료가 다음 명령을 사용하여 ProcDump from SysInternals 사용에 대한 덤프 파일 걸릴 거라고 생각 :

procdump -e -t -ma <PID> aspnet.dmp 

이 나에게 미니 덤프 파일을 얻는다을하는 VS2010에서 열어 볼 수 있으며 힙 정보가 있음을 알 수 있습니다. 어떤 흥미로운입니다 :

Minidump Summary

그래서이 시점에서 나는 특정 웹 사이트에 대한 bin 폴더 인 기호 경로를 설정하려고. 내가 적절한 서버에서 그것을 복사했습니다. 그러나, 나는 여전히 유일한 옵션으로 디버그 네이티브 전용, 그리고 내가 할 때 해당 기호 찾을 수 없습니다. 호출 스택은 윈도우 DLL 어딘가에 중지하는 것 때문에 그건 경우

PDB Options

잘 모르겠어요 ... :

은 여기 내 PDB 위치 설정인가? 다음은 호출 스택 창의 화면입니다.

Call Stack

어쨌든, 내 궁극적 인 질문은 는 그렇다면 내가 무엇을 내가를 놓친 거지,이 예외의 원인을 찾기위한 적절한 경로를 따라하고있어 여부입니까? 그것은 관리되지 않는 코드에있는 것으로 보이지만 나는 모든 것이 폭발하기 전에 마지막으로 관리되는 호출을보고 싶습니다.

또한 도움이 될 경우 웹 서버는 Win2003 x86, 내 PC는 Win7 x64입니다.

감사합니다.

답변

2

나는 이것도 보았습니다. VS2010은 크래시 된 .NET 4.0 실행 가능 어셈블리가 아니라면 관리되는 앱의 덤프 파일을 멋지고 친숙하게 디버깅하지 않습니다.

1

항상 덤프 분석을 위해 winDbg를 선호합니다. 또한 MSFT에서 Debug Diags를 살펴 보시기 바랍니다. 이것은 응용 프로그램을 모니터링하고 충돌 직전에 덤프를 생성하는 Windows 서비스입니다. 이렇게하면 덤프에 필요한 정보가 있는지 확인할 수 있습니다. 덤프가 있으면 WinDbg에로드하고 SOS 확장 DLL의 도구를 사용하여 문제를 찾으십시오.

+0

나는 모든 문학 작품이 매우 SOS가 무거웠으며 분명히 그것이 받아 들여질 수있는 아주 좋은 방법이라는 데 동의한다. VS2010을 덜 고통스러운 과정으로 만드는 방법에 관심이 있습니다. –

관련 문제