중단점 제어 방법

가상 주소, 모듈 및 루틴 오프셋 또는 원본 파일 및 줄 번호(원본 모드에 있는 경우)로 중단점의 위치를 지정할 수 있습니다. 오프셋 없이 루틴에 중단점을 배치하면 해당 루틴이 입력될 때 중단점이 활성화됩니다.

다음과 같은 몇 가지 추가 중단점이 있습니다.

  • 중단점은 특정 스레드와 연결할 수 있습니다.

  • 중단점은 트리거되기 전에 주소를 통해 고정된 수의 패스를 사용하도록 설정할 수 있습니다.

  • 중단점은 트리거될 때 특정 명령을 자동으로 실행할 수 있습니다.

  • 실행 불가능한 메모리에 중단점을 설정하고 해당 위치를 읽거나 쓸 수 있도록 감시할 수 있습니다.

사용자 모드에서 둘 이상의 프로세스를 디버깅하는 경우 중단점 컬렉션은 현재 프로세스에 따라 달라집니다. 프로세스의 중단점을 보거나 변경하려면 프로세스를 현재 프로세스로 선택해야 합니다. 현재 프로세스에 대한 자세한 내용은 프로세스 및 스레드 제어를 참조하세요.

중단점 제어 및 표시를 위한 디버거 명령

중단점을 제어하거나 표시하려면 다음 메서드를 사용할 수 있습니다.

  • Bl(중단점 목록) 명령을 사용하여 기존 중단점 및 현재 상태를 나열합니다.

  • .bpcmds(중단점 명령 표시) 명령을 사용하여 중단점을 만드는 데 사용된 명령과 함께 모든 중단점을 나열합니다.

  • bp(중단점 설정) 명령을 사용하여 새 중단점을 설정합니다.

  • bu(해결되지 않은 중단점 설정) 명령을 사용하여 새 중단점을 설정합니다. bu로 설정된 중단점을 해결되지 않은 중단점이라고 합니다. bp로 설정된 중단점과는 다른 특성을 갖습니다. 자세한 내용은 해결되지 않은 중단점(부 중단점)을 참조하세요.

  • bm(기호 중단점 설정) 명령을 사용하여 지정된 패턴과 일치하는 기호에 새 중단점을 설정합니다. /d 스위치가 포함된 경우 bm이 있는 중단점 집합은 주소(예: bp 중단점)와 연결됩니다. 이 스위치가 포함되지 않은 경우(예: bu 중단점) 해결되지 않습니다.

  • ba(Access에서 중단) 명령을 사용하여 데이터 중단점이라고도 하는 프로세서 중단점을 설정합니다. 이러한 중단점은 메모리 위치가 기록될 때, 읽는 경우, 코드로 실행될 때 또는 커널 I/O가 발생할 때 트리거될 수 있습니다. 자세한 내용은 프로세서 중단점(ba 중단점)을 참조하세요.

  • bc(Breakpoint Clear) 명령을 사용하여 하나 이상의 중단점을 영구적으로 제거합니다.

  • bd(중단점 사용 안 함) 명령을 사용하여 하나 이상의 중단점을 일시적으로 사용하지 않도록 설정합니다.

  • be(중단점 사용) 명령을 사용하여 하나 이상의 비활성화된 중단점을 다시 사용하도록 설정합니다.

  • br(Breakpoint Renumber) 명령을 사용하여 기존 중단점의 ID를 변경합니다.

  • bs(중단점 명령 업데이트) 명령을 사용하여 기존 중단점과 연결된 명령을 변경합니다.

  • bsc(조건부 중단점 업데이트) 명령을 사용하여 기존 조건부 중단점이 발생하는 조건을 변경합니다.

Visual Studio 및 WinDbg에는 중단점 제어 및 표시를 용이하게 하는 여러 사용자 인터페이스 요소가 있습니다. Visual Studio 중단점 설정WinDbg에서 중단점 설정을 참조하세요.

각 중단점에는 연결된 중단점 ID라는 10진수가 있습니다. 이 숫자는 다양한 명령의 중단점을 식별합니다.

중단점 명령

중단점이 적중될 때 자동으로 실행되는 명령을 중단점에 포함할 수 있습니다. 예를 들어 다음 명령은 MyFunction+0x47 중단되고 덤프 파일을 작성한 다음 실행을 다시 시작합니다.

0:000> bu MyFunction+0x47 ".dump c:\mydump.dmp; g" 

참고 커널 디버거에서 사용자 모드 디버거를 제어하는 경우 중단점 명령 문자열에서 g(Go) 를 사용하지 마세요. 직렬 인터페이스가 이 명령을 따라갈 수 없으므로 CDB로 다시 침입할 수 없습니다. 이 상황에 대한 자세한 내용은 커널 디버거에서 User-Mode 디버거 제어를 참조하세요.

중단점 수

커널 모드에서는 최대 32개의 소프트웨어 중단점을 사용할 수 있습니다. 사용자 모드에서는 원하는 수의 소프트웨어 중단점을 사용할 수 있습니다.

지원되는 프로세서 중단점 수는 대상 프로세서 아키텍처에 따라 달라집니다.

조건부 중단점

특정 조건에서만 트리거되는 중단점을 설정할 수 있습니다. 이러한 종류의 중단점에 대한 자세한 내용은 조건부 중단점 설정을 참조하세요.