2011-08-02 3 views

답변

10

프로세스에 연결하면 디버거가 프로세스에 연결되어 디버거에서 시작하지 않은 코드 내에 중단 점을 설정할 수 있습니다. 이는 자동 스폰 프로세스 (예 : IIS에서 실행되는 .NET 코드)가있는 항목을 디버깅하려는 상황에서 매우 유용합니다.

2

즉, Visual Studio의 통합 디버거와 같은 디버거를 프로세스에 첨부하여 런타임에 일시 중지하고 변수를 검사 할 수 있습니다. 이것은 자동으로 F5를 누르거나 디버그 메뉴를 사용하여 수동으로 수행 할 때 발생합니다.

+0

답변 해 주셔서 감사합니다. – abw333

3

실행중인 프로세스에 디버거를 연결하고 디버거를 시작할 수 있습니다. 실행 파일에 대한 디버깅 정보가있는 경우에만 주로 유용합니다.

내 프로그램이 예외에 부딪 치고 이미 디버깅 중이 아닌 경우이를 사용하는 경향이 있습니다. 변수를 연결 한 다음 스택을 호출 할 수 있습니다.

+1

답변 해 주셔서 감사합니다. – abw333

9

enter image description hereF5을 눌러 앱 인스턴스를 시작하거나 녹색 "go"버튼을 누르는 대신 이미 실행중인 프로그램에 디버거를 연결할 수 있습니다. 메모장의 인스턴스에 you/can/attach하는 동안 메모장은 .net 응용 프로그램이 아니며 메모장 용 .pdb 디버깅 기호가 없으므로 많은 이점이 없습니다.

은 (최적화되지 않은
  • 컴파일 "전체"디버깅 심볼을 컴파일 ... 프로그램의 이미 실행중인 인스턴스 (또는 코드가 실행되는 인터넷 익스플로러 인스턴스)에

    • 를 부착하려면 디버그 구성 기본값)
    • 가 .PDB 파일이 의 .PDB과 같은 디렉토리에 있는지 확인 (또는 수동으로 찾을 수 있습니다)
    • 이 있는지 확인하십시오 코드는 때와 동일한 경로에 컴파일 (또는 을 수동으로 찾아야합니다.
  • 6

    공식 문서가 무엇을 말하는지는 모르겠지만 사용 방법입니다.

    지속적으로 실행되는 프로젝트에서 작업하는 경우 IIS 또는 Windows 서비스에 배포 된 웹 사이트를 말하면 실행중인 프로그램의 코드가 VS로 열려있는 솔루션을 사용하면 프로세스에 연결하여 디버그 할 수 있습니다 마치 F5를 치고 브레이크 포인트를 설정하는 것처럼 시작합니다. 원격 시스템에서 실행중인 프로세스가 제대로 구성되어 있으면이 프로세스에 연결하여 스테이징 서버에서 프로세스를 디버깅 할 때 유용합니다 또는 그런 것.

    편집중인 코드가 바이너리를 컴파일하는 데 사용되는지 확인하기 만하면됩니다.

    관련 문제