Visual Studio Debugger 7 가지 잘 알려 지지 않 은 작은 기능

4361 단어 VisualStudioDebugger
Visual Studio debugger 는 아주 좋 은 디 버 깅 도구 로 프로그램 원숭이 들 이 문 제 를 신속하게 발견 하고 해결 하 는 데 도움 을 줄 수 있다.VS 디 버 깅 도구 중 잘 알려 지지 않 은 7 가지 기능 을 간단히 소개 한다.
1.원 클릭 으로 지정 한 문장 으로 이동
디 버 깅 과정 에서 특정한 문 구 를 실행 하거나 실행 하지 않도록 노란색 화살 표를 끌 어 당 겨 야 한다.일반적인 방법 은 마 우 스 를 사용 하여 직접 끌 어 당 기 는 것 이다.
Visual Studio 2017 15.3 미리 보기 판 에 서 는 대상 줄 로 더 간단하게 이동 하 는 방법 이 있 습 니 다.대상 줄 에서 마우스 포인 터 를 회전 시 키 고 녹색 세로 줄 오른쪽 화살표 아이콘 이 나타 난 후 CTRL 을 누 른 후 마우스 왼쪽 단 추 를 누 르 면 디 버 깅 노란색 화살 표를 옮 기 고 디 버 깅 다음 단계 나 F5 를 누 르 면 지정 줄 에서 바로 실 행 됩 니 다.



2.지정 한 인 스 턴 스 값 의 정지점 추가
어떤 인 스 턴 스 의 속성 값 은 알 수 없 는 변화 가 있 습 니 다.왜 변 했 는 지 알 아야 할 때 속성 코드 에 정지점 을 추가 하지만 모든 인 스 턴 스 에 적 용 됩 니 다.
디 버 깅 할 때 Make Object ID 와 Conditional Breakpoint 기능 을 사용 하여 지정 한 인 스 턴 스 의 정지점 을 추가 할 수 있 습 니 다.구체 적 으로 다음 과 같 습 니 다.
먼저 나 는 하나의 종 류 를 정의 하고 두 개의 대상 을 초기 화 시 켰 다.PointX 의 값 을 바 꾸 고 인 스 턴 스 a 의 PointX 값 의 변경 정지점 을 추가 하려 고 한다.

디 버 깅 중 인 스 턴 스 a 를 오른쪽 클릭 하여 Make Object ID 선택

이 때 인 스 턴 스 a 는$1 에 할당 되 었 습 니 다.추가 할 정지점 에서 오른쪽 클릭 으로 Conditions 를 선택 하 십시오.

$1===this 코드 를 추가 한 후 프로그램 을 실행 하면 인 스 턴 스 a 속성 이 바 뀌 었 을 때 정지점 이 유효 하고 인 스 턴 스 b 속성 이 바 뀌 었 을 때 유효 하지 않 습 니 다.

Make Object ID 는 메모리 에 있 는 대상 의 주 소 를 기록 합 니 다.다음 디 버 깅 때 바 뀌 었 습 니 다.다시 설정 해 야 합 니 다.
3.프로 세 스 다시 추가
Attach to Process 는 여러분 이 자주 사용 해 야 할 기능 입 니 다.Visual Studio 2017 에는 Reattach to Process 라 는 새로운 옵션 이 있 습 니 다.최근 에 추 가 된 프로 세 스에 다시 추가 할 수 있 습 니 다.
프로 세 스에 추가 하고 Stop Debugging 을 클릭 한 다음 Debug 를 클릭 하면 안에 있 는 Reattach to Process 옵션 을 볼 수 있 습 니 다.

4.모든 스 레 드 보이 기
디 버 깅 과정 에서 디 버 깅 도구 모음 에'Show Threads in Source'라 는 새로운 옵션 이 있 습 니 다.클릭 하면 스 레 드 가 멈 춘 코드 줄 앞 에 아이콘 을 표시 할 수 있 습 니 다.마 우 스 는 아이콘 에 머 물 러 스 레 드 를 표시 하고 아이콘 을 우 클릭 하면 사용 가능 한 동작 을 표시 할 수 있 습 니 다.


이 기능 은 디 버 깅 효율 에 영향 을 줄 수 있 으 므 로 필요 하지 않 으 면 기본 으로 닫 는 것 을 권장 합 니 다.
5.지정 한 정지점 을 임시로 사용 하지 않 기
다 중 스 레 드 디 버 깅 을 할 때 Disable Breakpoint 기능 을 이용 하여 지정 한 정지점 을 임시로 사용 하지 않 고 다른 스 레 드 가 정지점 으로 인해 중단 되 어 현재 스 레 드 의 디 버 깅 작업 에 영향 을 주 는 것 을 방지 할 수 있 습 니 다.


6.모든 스 레 드 호출 스 택 보기
디 버 깅 과정 에서 Command Window 에'Debug.ListCallStack-AllThreads'를 입력 하면 모든 스 레 드 호출 스 택 을 볼 수 있 습 니 다.

WinDBG 명령 으로 도 가능 합 니 다."~*k":

7.부정적인 효과 가 없 는 방법 으로 평가
디 버 깅 워 치 창 에서 한 방법의 반환 값 을 봐 야 할 때 도 있 지만 이 방법 을 실제로 실행 할 때 부정적인 효과 가 발생 할 수 있 습 니 다.워 치 창 에 입력 할 때'nse'를 추가 하여 부정적인 효 과 를 피 할 수 있 습 니 다.'No Side Effects'의 줄 임 말 입 니 다.예 는 다음 과 같다.
처음에 Add 가 여섯 번 실 행 했 기 때문에 testList 총 수 는 6 입 니 다.

현재 Add 가 실행 중인 반환 값 을 보 려 면 Watch 창 에 Add(1)를 입력 하 십시오.그러나 이것 은 부정적인 영향 을 미 칠 수 있 습 니 다.testList 의 값 을 7 로 변경 합 니 다.

따라서 testList 의 원시 값 에 영향 을 주지 않 으 려 면',nse'를 더 해 야 합 니 다.아래 는 8 이지 만 testList 의 원시 값 은 변 하지 않 았 습 니 다.

여기까지 소개 합 니 다.좋아 하 는 디 버 깅 기능 이 있 나 요?댓 글 에 오신 걸 환영 합 니 다~
PS:소개 만 할 뿐 뿌리 지 마 세 요.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기