>  기사  >  백엔드 개발  >  Visual Studio 디버거에서 모르는 작은 기능

Visual Studio 디버거에서 모르는 작은 기능

零下一度
零下一度원래의
2017-07-02 10:26:351475검색

이 기사에서는 주로 Visual Studio 디버거의 잘 알려지지 않은 7가지 기능을 자세히 소개하며, 이는 특정 참조 가치가 있습니다. 관심 있는 친구가 참조할 수 있습니다.

Visual Studio 디버거는 훌륭한 디버깅 도구는 프로그래머가 문제를 신속하게 찾고 해결하는 데 도움이 됩니다. 다음은 VS 디버깅 도구의 잘 알려지지 않은 7가지 기능에 대한 간략한 소개입니다.

1. 한 번의 클릭으로 지정된 문으로 이동합니다

디버깅 중에 특정 문을 실행하거나 실행하지 않으려면 노란색 화살표를 드래그해야 하는 경우가 많습니다. 일반적인 방법은 마우스를 사용하여 직접 드래그하는 것입니다.

Visual Studio 2017 15.3의 미리 보기 버전에는 대상 행으로 이동하는 더 간단한 방법이 있습니다. 마우스 포인터를 대상 행 위에 놓고 녹색 수직 오른쪽 화살표 아이콘이 나타나면 Ctrl 키를 누른 채 디버깅 노란색 화살표를 마우스 왼쪽 버튼으로 이동한 다음 디버깅 다음 또는 F5를 클릭하여 지정된 라인에서 직접 실행합니다.

2. 인스턴스 값을 지정하는 중단점을 추가합니다.

때때로 인스턴스의 attribute 값이 설명할 수 없을 정도로 변경되는 경우가 있습니다. 속성 코드에 중단점이 있지만 이는 모든 인스턴스에 적용됩니다.

디버깅할 때 Make Object ID 및 조건부 중단점 기능을 사용하여 다음과 같이 지정된 인스턴스에 대한 중단점을 추가할 수 있습니다.

먼저 클래스를 정의하고 두 개의 객체를 초기화한 다음 원하는 PointX 값을 변경했습니다. 인스턴스 a의 PointX 값에 대한 변경 중단점을 추가하려면 디버깅 프로세스 중에 인스턴스 a를 마우스 오른쪽 버튼으로 클릭하고 Make Object ID를 선택합니다. 중단점을 마우스 오른쪽 버튼으로 클릭하고 Conditions...

$1을 추가한 후 == 이 코드를 작성한 후 프로그램을 실행하면 인스턴스 a의 속성이 변경될 때 중단점이 적용되지만 인스턴스 b의 속성이 변경되면 중단점은 적용되지 않습니다.

Make Object ID는 메모리에 개체의 주소를 기록합니다. 다음에 디버깅할 때 변경되어 재설정되어야 합니다.

3. 프로세스에 다시 연결

프로세스에 연결은 모든 사람이 자주 사용해야 하는 기능입니다. Visual Studio 2017에는 프로세스에 다시 연결이라는 새로운 옵션이 있습니다. 가장 최근에 첨부되었습니다.

먼저 프로세스에 연결하고 디버깅 중지를 클릭한 다음 디버그를 클릭하면 프로세스에 다시 연결 옵션이 표시됩니다.

4. 모든 스레드 표시

디버깅 프로세스 중에 디버깅 도구 모음에 소스에 스레드 표시라는 새로운 옵션이 있습니다. 클릭한 후 스레드가 중지된 코드 줄 앞에 아이콘이 표시됩니다. 아이콘 위에 마우스를 놓으면 해당 아이콘을 마우스 오른쪽 버튼으로 클릭하여 사용 가능한 작업이 표시됩니다.

이 기능은 디버깅 효율성에 영향을 줄 수 있으므로 필요하지 않은 경우 기본적으로 끄는 것이 좋습니다.

5. 지정된 중단점을 일시적으로 비활성화합니다

멀티 스레드 디버깅을 수행할 때 중단점 비활성화 기능을 사용하면 중단점으로 인해

다른 스레드가 중단되어 디버깅 작업에 영향을 미치는 것을 방지할 수 있습니다. 현재 스레드.

6. 모든 스레드의 호출 스택 보기

디버깅 중에 명령 창에 "Debug.ListCallStack -AllThreads"를 입력하면 모든 스레드의 호출 스택을 볼 수 있습니다.

WinDBG 명령 "~*k"를 사용할 수도 있습니다:

7 평가하려면 부정적인 영향이 없는 방법을 사용하세요.

때때로 디버깅 Watch 창에서 메소드의 반환 값을 확인해야 할 경우가 있는데, 이 메소드가 실제로 실행되면 부정적인 영향을 미칠 수 있습니다. 여기서는 Watch 창에 입력할 때 ", nse"를 추가하여 부정적인 영향을 방지할 수 있습니다. 효과, 예" "부작용 없음"의 약어입니다. 예제는 다음과 같습니다.

Add가 처음에 6번 실행되었으므로 testList의 총 개수는 6개입니다.

이제 Add의 현재 실행에 대한 반환 값을 보려면 Add( 1) Watch 창에서 부정적인 영향을 미칠 수 있으므로 testList의 값을 7로 변경합니다.

따라서 testList의 원래 값에 영향을 주지 않으려면 ", nse"를 추가해야 합니다. 아래와 같이 8이지만 testList의 원래 값은 변경되지 않거나 7입니다.

소개는 여기까지입니다. 마음에 드는 작은 디버깅 기능이 있으면 댓글을 달아주세요~

PS: 소개일 뿐이니 마음에 들지 않으면 댓글을 달지 마세요.

위 내용은 Visual Studio 디버거에서 모르는 작은 기능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.