방법: 연결 오류 처리
업데이트: 2007년 11월
이 항목은 다음 언어에 적용됩니다.
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro 및 Team |
표의 범례:
해당 |
|
해당 없음 |
|
명령은 기본적으로 숨겨져 있습니다. |
실행 중인 프로세스에 Visual Studio 디버거를 연결할 때 이 프로세스에는 한 가지 이상의 코드 형식이 포함될 수 있습니다. 디버거를 연결할 수 있는 코드 형식은 네이티브, 관리, T-SQL 및 스크립트 형식입니다. 이러한 코드 형식은 프로세스에 연결 대화 상자에 표시 및 선택됩니다.
참고: |
---|
디버거에서 C++로 작성된 관리 코드에 연결하려면 코드에서 DebuggableAttribute를 내보내야 합니다. 이 특성은 /ASSEMBLYDEBUG 링커 옵션으로 링크하여 자동으로 코드에 추가할 수 있습니다. |
때로는 디버거가 한 코드 형식에는 연결되고 다른 코드 형식에는 연결되지 않을 수도 있습니다. 이러한 문제는 원격 컴퓨터에서 실행 중인 프로세스에 연결하려 할 때 발생할 수 있습니다. 원격 컴퓨터에 설치된 원격 디버깅 구성 요소가 일부 코드 형식만 지원하고 다른 코드 형식은 지원하지 않을 수도 있습니다. 데이터베이스를 직접 디버깅하기 위해 두 개 이상의 프로세스에 연결하려는 경우에도 이 문제가 발생할 수 있습니다. SQL 디버깅은 단일 프로세스에 대한 연결만 지원합니다.
디버거를 일부 코드 형식에 연결할 수 있지만 모든 코드 형식에 연결할 수는 없는 경우 다음과 같은 메시지가 나타납니다.
The requested attach was not completed successfully.
Program types successfully attached are:
Common Language Runtime
Native (Win32)
Microsoft T_SQL
Program types that failed to attach are:
Script
적어도 하나의 코드 형식에 디버거가 성공적으로 연결되면 프로세스 디버깅을 진행할 수 있습니다. 이 경우 성공적으로 연결된 코드 형식만 디버깅할 수 있습니다. 위 예제 메시지에서는 스크립트 코드 형식에 연결하지 못했음을 보여 줍니다. 따라서 이 프로세스 내의 스크립트 코드는 디버깅할 수 없습니다. 스크립트 코드는 프로세스 내에서 계속 실행되지만 스크립트에서 중단점을 설정하거나 데이터를 보거나 기타 디버깅 작업을 수행할 수는 없습니다.
디버거가 연결되지 않는 특정 코드 형식에만 다시 연결을 시도하면 해당 코드 형식에 디버거가 연결되지 않는 이유를 더 구체적으로 확인할 수 있습니다.
코드 형식에 연결하지 못한 이유에 대한 자세한 정보를 얻으려면
프로세스에서 분리합니다. 이렇게 하려면 디버그 메뉴에서 모두 분리를 클릭합니다.
한 프로그램 종류만 선택하여 프로세스에 다시 연결합니다.
프로세스에 연결 대화 상자의 사용 가능한 프로세스 목록에서 프로세스를 선택합니다.
선택을 클릭합니다.
코드 형식 선택 대화 상자에서 다음 코드 형식 디버깅을 선택하고 연결에 실패한 코드 형식을 선택합니다. 다른 코드는 모두 선택 해제합니다.
확인을 클릭합니다. 코드 형식 선택 대화 상자가 닫힙니다.
프로세스에 연결 대화 상자에서 연결을 클릭합니다.
이렇게 하면 연결이 완전히 실패하고 자세한 오류 메시지가 나타납니다.