2010-07-29 7 views
0

웹 응용 프로그램을 디버깅하려고하는데 VS에 다소 이상한 문제가 있습니다. 우선 w3wp 프로세스에 연결하고 실행되는 코드에 중단 점을 설정합니다. 문제는, 중단 점 중 어느 것도 맞지 않는다는 것입니다. 내가 잘못한 게 틀림 없다고 생각하면서 디버거를 멈추었 고 재 연결하려고 할 때 54 개의 프로세스 중 6 개만 표시되며 w3wp는 없습니다 (예 : 모든 사용자의 프로세스를 모두 표시하고 모든 프로세스를 표시합니다 세션 확인). VS (또는 컴퓨터)를 다시 시작하면 아무런 반응이 없습니다. VS를 작동시키는 방법에 대한 아이디어가 있습니까?디버거가 작동을 멈추고 활성 프로세스가 표시되지 않습니다.

과정에 부착하는 동안

답변

0

,

  1. 하면 디버그 메뉴
  2. 윈도우를 클릭 -> 모듈
  3. 다른 방법 "Ctrl-D를, M"

이 당신에게 표시됩니다 모든 dll은 사용자가 첨부 한 프로세스에 의해로드됩니다. 필요한 dll이 없으면 브라우저에서 페이지를 새로 고치고 목록에 추가되었는지 확인하십시오.

그들이 목록

당신은 잘못된 W3wp.exe 프로세스에 연결에하지 않은 경우. 그들은

  1. 봐 "경로"열에서 목록에 경우 당신이 그들을 것으로 예상 곳에

    , 그것은에서 실행되고 있는지 확인합니다. 은 "기호 파일"열에서

  2. 봐, 그것은 비어있는 경우,
    1. 바로 dll을 클릭하고 "에서로드 기호를 ->"를 선택 후 "기호 경로"
    2. 이것은 당신이 지적 할 수 로드하려는 로컬 pdb 파일에 직접 연결하십시오. "myproject/bin/debug /"디렉토리에 있어야합니다.
    3. 아마도 "pdb가 모듈과 일치하지 않습니다"라고 말할 것입니다. (그렇습니다.)이 경우, 실행중인 코드가 Visual Studio에있는 버전과 같지 않다는 뜻입니다.
    4. 매우 중요합니다.입니다. gac에 무언가를 배포한다면 Visual Studio에서 을 빌드으로 빌드하면 gac'd dll과 동기화되지 않는 pdbs가 고려 될 것입니다! 그래서, 만약 당신이 gac에 배치 한 것을 디버깅하고 싶다면, pdb의 타임 스탬프와로드 된 dll의 타임 스탬프가 동일해야합니다! 다시 작동 모든 것을 얻을 것이다 희망

.

+0

감사합니다. 게시물 바로 전에 작업하기 시작했습니다. 나는이 정보를 VS에 저장하기 전에 계획을 세운다. –

+0

@ 0_o 도와 주니 기쁘다. – DevinB

관련 문제