자동 속성 디버깅


126

자동 구현 속성에서 setter / getter에 중단 점을 설정하는 방법이 있습니까?

int Counter { get; set; }

표준 속성으로 변경하는 것 외에 (이 방법으로하고 있지만 전체 프로젝트를 변경하고 다시 컴파일해야합니다)


2
어떤 IDE를 사용하고 있습니까? 비주얼 스튜디오? (실제로 C # 언어보다 특정 IDE와 관련이 있기 때문에 질문에 해당 태그를 추가하는 것이 좋습니다.)
stakx-더 이상

5
.NET 세계에서 @stakx에는 기본 IDE가 있습니다 :)
Stilgar

1
@ Stilgar, 나는 그것을 알고 있습니다. 결국 VS를 사용하고 있습니다. 그러나 "기본"이 이것이 유일한 것이거나 모든 사람 이 그것을 사용 한다는 것을 의미하지는 않습니다 . 이것은 IDE 질문이므로 여기에서 어떤 IDE를보고 있는지 알아야합니다. 따라서 내 이전 의견.
stakx-더 이상

4
@stakx는 .NET 관련 질문에 대한 IDE에 대한 언급이 없을 때 VS라고 가정합니다. 무엇보다 농담이 많았습니다 :)
Stilgar

답변:


220

Visual Studio 2008, 2010, 2012, 2013 사용 :

  1. 중단 점 창으로 이동
  2. 신규-> 기능 중단…
  3. 에 다음을 get입력하십시오.ClassName.get_Counter()

    에 다음을 set입력하십시오.ClassName.set_Counter(int)

당신은 얻을 것이다 "아니 소스가 사용 가능한" 중단 점이 적중 될 때,하지만 당신은 호출 스택의 호출 위치를 얻을 수 있습니다.

MSDN 에서이 솔루션을 찾았습니다.


화려 함. 감사. 더 이상 자동 속성을 표준 필드 (필드 포함)로 변경할 필요가 없습니다. 그리고 더 이상 재 컴파일 :)
Marek Kwiendacz

9
이것은 기본 생성자에서도 작동합니다. 사용ClassName.ctor
Călin Darie

11
VS2015 그냥하여이를 해결 한 자동 게터 및 세터에 중단 점을 설정 :)
cateyes

1
여기서 작동하지 않습니다. 내가 해본 모두 Form.set_HeightMainWindow.set_Height, 어느 쪽도했다.
Hi-Angel

@ Hi-Angel, setter의 경우 형식을 포함해야하므로 Form.set_Height (int)
Matt Smith

7

내가 당신이라면, 나는 일시적으로 속성을 내부 필드가 뒷받침하는 표준 속성으로 만들고 중단 점을 설정 한 다음 나중에 다시 변경할 수 있습니다.



2

Visual Studio 2017에서 :

"설정된"단어 위로 마우스를 가져가-> 오른쪽 클릭-> 중단 점-> 중단 점 삽입

전에:

전에

후:

후


0

다른 방법으로 속성을 설정하거나 속성을 얻는 곳에서 중단 점을 설정하십시오.

모든 참조 찾기 옵션으로 이를 수행 할 수 있습니다.

그리고 값을 저장하고 setter 부분에 코드가 없으므로 무엇을 디버깅합니까?


3
예, 그러나 예를 들어 20 곳에서 사용하면 어떻게됩니까? 그리고 모든 새로운 중단 점은 디버깅 프로세스를 느리게합니다. 또는 속성에 대한 액세스가 프레임 워크 (예 : 직렬화)로 수행되면 어떻게됩니까?
Marek Kwiendacz

1
조건부 중단 점. 중단 점을두고 마우스 오른쪽 버튼을 클릭 한 후 조건을 지정하십시오.
Phill
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.