1. 유니티 스크립트 에디터 설정

1. Edit -> Preference -> External Script Editor로 들어가서 Visual Studio를 스크립트 에디터로 설정.

 

위 과정을 거치면 유니티와 Visual Stduio의 연결이 됩니다.

 

위 처럼 Unity에 연결이 뜨면, 유니티와 Visual Studio의 연결이 제대로 된 것입니다.

 

2. 디버깅 하기 전 설정

1. Visual Studio에서 Break Point를 설정해줍니다.

왼쪽 이미지처럼 초록색 영역 부분을 클릭하면 오른쪽 이미지 처럼 "빨간색 점"이 찍히는 것을 확인할 수 있습니다. 이것을 브레이크 포인트(중단점)이라고 합니다.

 

보통 문제가 있는 부분이라고 생각되는 라인, 동작 결과가 어떻게 되는지 보고 싶은 라인을 중단점으로 찍고 디버깅을 합니다.

 

 

2. Visaul Studio에서 상단의 "Unity에 연결" 버튼을 눌러줍니다.

 

이 버튼을 눌러주면 다음 화면과 같이 디버깅모드로 진입됩니다.

 

3. Unity Editor에서 플레이 버튼을 눌러줍니다.

 

위와 같이 플레이 상태가 되면 디버깅을 할 준비가 다 되었습니다. 디버깅을 하려면 위의 절차를 무조건 거쳐 주셔야 합니다.

 

 

3. 디버깅 하는 법

디버깅을 하려면 우선 보고싶은 코드가 수행되도록 만들어 주어야 합니다.

 

우선 저는 몬스터 리스트에 값이 잘 추가되고 있는지를 확인하고 싶었습니다. 이를 위해서 몬스터를 추가해주고, 리스트안에 있는 인덱스 출력을 하는 함수를 만들었습니다. 그러나, 값이 두 번 찍히는 상황이 생겨 디버깅을 하게 된 상태입니다.

 

그래서 IndexCheck를 하는 함수안의 지점에 "중단점"을 설정하고 확인해보았습니다.

 

우선 IndexCheck함수가 수행되려면, 리스트에 몬스터를 추가하고 IndexCheck 버튼을 눌러 함수를 수행시켜야 하므로

Goblin생성 버튼을 누르고, Index Check 버튼을 눌렀습니다. 이 순서를 거치게 되면

이런 식으로 Visual Studio에서 코드가 실행되다가 중단점에 걸려 멈춘 것을 볼 수 있습니다.

 

코드의 실행 흐름을 보는 방법은 두 가지가 있습니다.

  1.  한 단계식 코드 실행 (단축키 : F11)
  2.  프로시저 단위 실행 (단축키 : F10)

 

@한 단계씩 코드 실행

: 중단점부터 한 줄씩 코드를 실행합니다. 그리고 함수를 만나게 되면 함수 내부로 진입합니다. 함수 내부에서 빠져나오고 싶다면 "Shift+F11"을 눌러 빠져나올 수 있습니다.

 

@프로시저 단위 실행

: 중단점 이후부터 한 줄씩 코드를 실행합니다. 그러나 함수를 만나면 함수 내부로 진입하지 않고 함수를 실행한 후 다음 문장으로 넘어갑니다.

이렇게 보고 싶은 코드로 계속 움직이면서, 초록색으로 체크한 탭들을 선택하면서 보고싶은 변수의 값들을 확인할 수 있습니다. F10 및 F11로 코드를 게속 실행시키다 보면 함수가 끝나고 Unity Editor의 화면으로 돌아갑니다. 

 

 

@디버깅이 끊나지 않고, Unity Editor 창이 열리지 않을 때

 만약 디버깅 상태에서 Unity Editor의 화면으로 돌아가지 못하면 당황하지마시고, "계속" 버튼을 누르시면 Untiy Editor의 화면으로 되돌아갈 수 있습니다.

 

 

@디버깅 종료

마지막으로 디버깅을 중지하려면 shift+F5를 누르거나 이미지에 보이는 버튼을 눌러주세요.

 

 

 

+) Visual Stduio Code와 Rider의 디버깅 방법도 추가 예정입니다.