Logo
Published on
·2 min read

visual studio 디버깅 (asp.net) - 프로세스에 연결

이 글은 이전 블로그에서 2019년 11월 15일 작성한 내용을 옮겨오면서 내용을 추가/수정한 글입니다.


들어가며

ASP.NET으로 웹 개발을 진행하면서 디버깅이 필요할 때는 디버그 > 디버깅 시작으로 디버깅을 하면 보통은 디버깅이 잘 됩니다.

하지만 도메인을 이용한 로그인 체크 등 localhost로 디버깅 진행 시 특정 페이지 진입이 힘든 경우가 있습니다.

저는 그런 경우에는 디버그 > 프로세스에 연결을 이용하여 진행합니다. (IIS에 해당 사이트가 설정되어있다는 기준입니다. )

프로젝트 진행 시 한 번씩 헷갈리는 부분이라 정리합니다.

디버그 > 프로세스에 연결

  1. IIS에 사이트 설정

  2. IIS에 설정한 도메인으로 웹 브라우저에 접속 (예: http://local.example.com)

  3. Visaul Studio: 관리자 권한으로 실행

  4. 디버깅할 위치에 Break Point(중단점) 걸기

  5. Visaul Studio: 디버그 > 프로세스에 연결을 클릭

    • 여러 프로세스 목록이 표시되고 자주 착각하는 부분이 chrome.exe 또는 iexplore.exe로 연결을 시도하는 것입니다. 이렇게 하면 디버깅이 되지 않습니다.
    • 항목 선택 하단에 보이는 모든 사용자의 프로세스 표시를 체크
    • w3wp.exe 프로세스를 선택
프로세스에 연결
  1. 페이지 새로 고침 후 디버깅할 이벤트 발생 시키기

  2. 중단점이 잘 걸리는 것을 확인

중요 포인트

  • Visaul Studio는 관리자 권한으로 실행

  • 프로세스에 연결 시 '모든 사용자의 프로세스 표시'를 체크하고 w3wp.exe 프로세스를 선택

참고

디버깅이 걸리지 않는 문제는 너무 다양하여 이 것만으로는 해결되지 않을 수도 있습니다.

하지만 같은 실수를 반복하는 저를 위해, 그리고 혹시라도 누군가에게 도움이 될까 하여 해당 포스팅을 쓰기로 하였습니다.