많은 디버거 명령에는 프로세스 식별자가 해당 매개 변수로 있습니다. 프로세스 식별자 앞에 세로 막대(|)가 나타납니다.
프로세스 식별자는 다음 값 중 하나일 수 있습니다.
Process identifier | Description |
---|---|
|. |
현재 프로세스입니다. |
|# |
현재 예외 또는 디버그 이벤트를 발생시킨 프로세스입니다. |
|* |
All processes. |
| Number |
The process whose ordinal is Number. |
|~[PID] |
The process whose process ID is PID. (대괄호가 필요하며 타일(~)과 여는 대괄호 사이에 공백을 추가할 수 없습니다. |
|[Expression] |
The process whose process ID is the integer to which the numerical Expression resolves. |
프로세스가 생성되면 서수가 할당됩니다. 이 숫자는 Microsoft Windows 운영 체제에서 사용하는 PID(프로세스 ID)와 다릅니다.
현재 프로세스는 메모리 공간 및 사용되는 스레드 집합을 정의합니다. 디버깅이 시작되면 현재 프로세스는 현재 예외 또는 디버그 이벤트(또는 디버거가 연결된 프로세스)를 발생시킨 프로세스입니다. 이 프로세스는 |s(현재 프로세스 설정) 명령을 사용하거나 WinDbg의 프로세스 및 스레드 창을 사용하여 새 프로세스를 지정할 때까지 현재 프로세스로 유지됩니다.
프로세스 식별자는 여러 명령에서 매개 변수로 사용되며 명령 접두사로 자주 사용됩니다. WinDbg 및 CDB는 원래 프로세스가 만든 자식 프로세스를 디버그할 수 있습니다. WinDbg 및 CDB는 관련 없는 여러 프로세스에 연결할 수도 있습니다.
An example of the |[Expression] syntax would be |[@$t0]. 이 예제에서는 사용자 정의 의사 레지스터의 값에 따라 프로세스가 변경됩니다. 이 구문을 사용하면 디버거 스크립트가 프로그래밍 방식으로 프로세스를 선택할 수 있습니다.
커널 모드에서 프로세스 제어
커널 모드에서는 프로세스 식별자를 사용하여 프로세스를 제어할 수 없습니다. For more information about how to access process-specific information in kernel mode, see Changing Contexts.