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