다음을 통해 공유


.attach(프로세스에 연결)

.attach 명령은 새 대상 애플리케이션에 연결됩니다.

.attach [-premote RemoteOptions] AttachOptions PID

매개 변수

RemoteOptions
연결할 프로세스 서버를 지정합니다. 옵션은 명령줄 -premote 옵션에 대한 옵션과 동일합니다. 구문 세부 정보는 스마트 클라이언트 활성화를 참조하세요.

AttachOptions
연결을 수행하는 방법을 지정합니다. 여기에는 다음 옵션 중 어느 것이든 포함될 수 있습니다.

-b
대상 프로세스에 연결할 때 디버거가 초기 침입을 요청하는 것을 방지합니다. 이는 애플리케이션이 이미 일시 중단되었거나 대상에 중단 스레드를 만들지 않으려는 경우에 유용할 수 있습니다.

-e
디버거가 이미 디버그 중인 프로세스에 연결할 수 있습니다. 자세한 내용은 대상 애플리케이션에 다시 연결하는 방법을 참조하세요.

-k
로컬 커널 디버깅 세션을 시작합니다. 자세한 내용은 로컬 커널 디버깅 수행을 참조하세요.

-f
연결된 새 대상을 제외하고 모든 대상 애플리케이션의 모든 스레드를 고정합니다. 이러한 스레드는 새로 연결된 프로세스에서 예외가 발생할 때까지 고정된 상태로 유지됩니다. 초기 중단점은 예외로 한정합니다. ~u(스레드 고정 해제) 명령을 사용하여 개별 스레드를 고정 해제할 수 있습니다.

-r

디버거가 대상 프로세스에 연결할 때 실행되도록 합니다. 애플리케이션이 이미 일시 중단되어 실행을 다시 시작하려는 경우에 유용할 수 있습니다.

-v
지정된 프로세스가 비침용적으로 디버깅되도록 합니다.

PID
새 대상 애플리케이션의 프로세스 ID를 지정합니다.

환경

항목 설명
모드 사용자 모드만
대상 라이브 디버깅만
플랫폼 all

설명

CDB가 휴면 상태이거나 하나 이상의 프로세스를 이미 디버깅하고 있는 경우 이 명령을 사용할 수 있습니다. WinDbg가 휴면 상태일 때는 사용할 수 없습니다.

이 명령이 성공하면 다음에 디버거가 실행 명령을 실행할 때 디버거가 지정된 프로세스에 연결됩니다. 이 명령을 여러 번 연속으로 사용하는 경우 이 명령이 사용된 만큼 여러 번 실행을 요청해야 합니다.

비침범성 디버깅 중에는 실행이 허용되지 않으므로 디버거는 한 번에 둘 이상의 프로세스를 비침범적으로 디버그할 수 없습니다. 즉, .attach -v 명령을 사용하면 기존의 침습적 디버깅 세션이 덜 유용할 수 있습니다.

일부 스레드가 고정되거나 일시 중단되지 않는 한 여러 대상 프로세스가 항상 함께 실행됩니다.

새 프로세스에 연결하고 모든 기존 대상을 고정하려면 -f 옵션을 사용합니다. 예를 들어 클라이언트 애플리케이션에서 작동 중단을 디버깅하고 클라이언트 애플리케이션을 계속 실행하지 않고 서버 프로세스에 연결하려고 할 수 있습니다.

-premote 옵션을 사용하는 경우 새 프로세스가 새 시스템의 일부가 됩니다. 자세한 내용은 여러 대상 디버깅을 참조 하세요.