Visual Studio에서 조건부 중단 점을 설정하는 방법은 무엇입니까?


133

Visual Studio에서 조건부 중단 점을 설정하는 쉬운 방법이 있습니까?

변수의 값이 무언가가 될 때만 중단 점에 도달하려면 어떻게해야합니까?


11
Express Edition에는이 기능이 없습니다.
Alexei Levenkov

1
Express 2015를 사용하고 있으며 조건부 중단 점을 사용할 수 있습니다
mark.monteiro

1
2017의 커뮤니티 에디션은 조건부 중단 점을 가지고
PentiumPro200

답변:


174

평소대로 중단 점을 설정하십시오. 마우스 오른쪽 버튼으로 클릭하십시오. 조건을 클릭하십시오.


1
VS 2015에서 당신은 중단 점 위에 마우스를 올려 놓고 기어 세트 조건에 아이콘을 클릭해야
mark.monteiro을

마우스 오른쪽 버튼을 클릭하고 조건을 설정하면 "중단 점 조건이 실패했습니다"라는 오류가 발생합니다. 그렇지 않습니까?
Toby Caulk

1
답변에는 조건문 구문 또는 정보 링크도 포함되어야합니다.
앤드류

50

Express Edition을 사용하는 경우 다음을 시도해보십시오.

#if DEBUG
    if( fooVariable == true )
        System.Diagnostics.Debugger.Break();
#endif

if 문은 릴리스에서 breakepoint가 존재하지 않음을 확인합니다.


3
이것은 뛰어난 성능 / 시간 절약 이점이 있습니다. 나는 몇 초 밖에 걸리지 않는 내 프로그램 (약 350 만 개)에서 모든 잠재적 int 'id'를 반복하고있었습니다. 조건부 중단 점을 사용하려고 시도했지만 조건부 분기가 아니기 때문에 몇 분 후에 디버그 세션을 종료하는 지점까지 실행 속도가 느려졌습니다. 컴파일 된 중단 점을 사용하면 즉시 중단됩니다.
금붕어 샌드위치

35

Visual Studio는 조건부 중단 점에 대한 많은 옵션을 제공합니다.

이 중 하나를 설정하려면

  1. 중단 점을 설정하십시오.
  2. 중단 점을 마우스 오른쪽 단추로 클릭하고 팝업 메뉴에서 적합한 옵션을 선택하십시오.

이러한 옵션은 다음과 같습니다.

  • 제공 한 코드 표현식을 기반으로 조건을 설정할 수 있습니다 ( 팝업 메뉴 에서 조건 을 선택 ). 예를 들어, foo == 8그 표현이나 다른 표현을 지정할 수 있습니다 .
  • 중단 횟수가 특정 횟수에 도달 한 후에 중단 점을 트리거 할 수 있습니다. 팝업 메뉴에서 적중 횟수 를 선택하십시오 . 실제로는 특정 적중 횟수에 제한을 두지 않고 몇 가지 다른 시나리오에 대한 옵션이 있으므로 재미있는 옵션입니다. 가능성을 탐구하기 위해 당신에게 맡길 것입니다.
  • 프로세스 ID, 스레드 ID 및 시스템 이름에서 필터 를 설정할 수 있습니다 ( 팝업 메뉴 에서 필터 선택 ).

16

그것을하는 또 다른 방법 (또는 express를 사용하는 경우)은 코드에 조건을 추가하십시오.

if(yourCondition)
{
    System.Diagnostics.Debugger.Break();
}

9
  1. 줄에 중단 점 설정
  2. 빨간 공에 오른쪽 클릭
  3. 조건부 중단 점 선택
  4. 설치 조건

8

실제 조건을 작성하는 것은 까다로운 부분이 될 수 있으므로

  1. 정기적 인 중단 점을 설정하십시오 .
  2. 중단 점에 처음 도달 할 때까지 코드를 실행하십시오 .
  3. 직접 실행 (Debug> Windows> Immediate)을 사용하여 식테스트하십시오 .
  4. 중단 점을 마우스 오른쪽 단추로 클릭하고 조건을 클릭 한 후 표현식에 붙여 넣으십시오 .

직접 실행 창 사용시 장점 :

  • 그것은이 인텔리을 .
  • 식을 평가할 때 식 의 변수 가 범위 내에 있는지 확인할 수 있습니다 .
  • 표현식 이 true 또는 false를 리턴 하는지 확인할 수 있습니다 .

이 예제는 코드가 "Setting"이라는 이름의 테이블을 참조 할 때 중단됩니다.

table.GetTableName().Contains("Setting")

5

평상시처럼 중단 점을 작성하고 빨간색 점을 마우스 오른쪽 단추로 클릭 한 후 "조건"을 선택하십시오.


4
  1. 평소대로 중단 점 설정
  2. 중단 점을 마우스 오른쪽 단추로 클릭하고 조건을 선택하십시오.
  3. "Breakpoint Condition"이라는 대화 상자가 표시됩니다
  4. "i == 5"와 같은 필드에 조건을 입력하십시오.

중단 점은 i가 5 일 때만 적중됩니다.


4
  1. 평소대로 중단 점을 설정하십시오.
  2. 중단 점 마커를 마우스 오른쪽 버튼으로 클릭
  3. "조건 ..."을 클릭하십시오
  4. 조건을 작성하면 변수 이름을 사용할 수 있습니다
  5. "Is True"또는 "Changes"를 선택하십시오

4

Visual Studio 6.0에서

Alt+ F9!!!


1
-1) VS 2012에서는 작동하지 않습니다. 2)이 질문에는 이미 많은 다른 (더 나은) 답변이 있으며 3) 누가 지상 6.0에 대해 관심이 있습니까 (1998 년에 릴리스)? 4) 누군가 VS 6에 관심이 있더라도 질문은 다음 버전의 VS (Visual Studio .Net)까지 지원되지 않은 .Net으로 태그됩니다
Tim Medora

7
글쎄, 다른 답변은 VS 6.0에서 작동하지 않습니다. 그래서 해결책을 게시했습니다.
Vorac April

1

breakpoint정상적으로 설정 한대로 중단 점을 마우스 오른쪽 버튼으로 클릭하고 condion옵션을 선택하고 조건을 설정하십시오.


1

조건부 함수 중단 점을 작성하십시오.

  1. 중단 점 창에서 새로 작성을 클릭하여 새 중단 점을 작성하십시오.

  2. 기능 탭에서 기능 반전을 입력하십시오. 줄에 1을 입력하고 문자에 1을 입력 한 다음 언어를 기본으로 설정하십시오.

  3. 조건을 클릭하고 조건 확인란이 선택되어 있는지 확인하십시오. instr.length > 0조건에 대해 입력 하고 해당 옵션이 선택되어 있는지 확인한 다음 확인을 클릭합니다.

  4. 새 중단 점 대화 상자에서 확인을 클릭하십시오.

  5. 디버그 메뉴에서 시작을 클릭하십시오.


0

Google에서 온 경우이 답변이 검색중인 것일 수 있습니다.

  1. 디버그> 새 중단 점> 함수 중단 점을 클릭하십시오. 여기에 이미지 설명을 입력하십시오

  2. 조건부 중단 점을 선택하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.