안녕하세요. BlockDMask입니다.
오늘은 유니티를 작업하실 때 작업 툴로 vs code를 사용하시는 분들이 손쉽게 디버깅을 할 수 있는 세팅 방법에 대해서 알아보겠습니다.
<목차>
1. 유니티에 vs code 패키지 설치 및 세팅
2. vs code에서 유니티 디버깅용 패키지 설치
3. vs code에서 유니티 디버깅하는 방법
4. vs code 디버깅 단축키
1. 유니티 vs code 디버깅 설치 및 세팅
유니티 에셋스토어에서 vs code를 임포트 합니다.
package manager로 들어가서 vs code를 설치해줍니다.
2. vs code 에 유니티 디버깅 용 패키지 설치
unity에서 vs code 에셋을 설치한 다음
2-1) 유니티 Preferences에 vs code 창이 생긴 것을 볼 수 있습니다.
이쪽에서 Install Unity Debugger 를 눌러줍니다.
2-2) 그럼 vs code 창이 실행 되면서 아래 패키지 두 개를 설치해 줍니다.
Debugger for Unity와 Unity Tools를 설치해줍니다.
(vscode에서 검색해서 바로 설치해도 상관없습니다.)
3. vs code 에서 유니티 디버깅 실행
1번과 2번을 완료한 후에 vs code, unity를 한번 껐다가 다시 켜줍니다. (재실행)
3-1) 그 후 디버깅을 위해서 vs code 좌측에 벌레 모양을 클릭해서 unity Debug를 실행시켜주거나
3-2) Ctrl + Shift + P 를 눌러서 Unity Attach Debugger 메뉴를 눌러서 Unity와 연결해 준 후에
3-3) vs code 상에서 디버깅을 실행 한 뒤 원하는 곳에 중단점을 걸고
디버깅을 실행하면 화면에 이런 모양이 나오게 됩니다.
그 후 코드의 원하는 부분에 중단점을 걸고
3-4) 유니티 프로그램을 실행시키면 디버깅이 실행됩니다.
4. vs code 디버깅 단축키 및 사용 예시
* 디버깅 단축키 *
F9 - 중단점(breakpoint)
F10 - 해당 줄을 실행하고 다음 줄로 넘어간다
F11 - 해당 줄의 실행하는데, 해당 줄이 함수인 경우 함수 안으로 들어 갑니다.
(Func 을 만난 경우 F10을 누르면 Func 다음 줄로 넘어가는데, F11을 누르면 Func 함수 내부로 들어가게 됩니다.)
Shift + F11 - 지금 위치가 함수 내부인 경우 함수 바깥으로 나오게 됩니다.
(Func 함수 내부인 경우 Func 함수 밖으로 나가게 됩니다.)
4-1) 중단점을 걸고
vs code 의 C# 스트립트에서 중단점을 걸고 싶은 곳으로 가서 F9를 눌러 줍니다.
그럼 이렇게 왼쪽에 빨간 점이 생기게 됩니다. 코드를 쭉 실행하다가 이 빨간 점에서 프로그램이 일시정지하게 됩니다.
빨간점이 있는 곳에 하이라이팅(노란색)이 되는 것을 볼 수 있습니다.
이 노란색 하이라이팅이 바로 현재 디버깅하는 코드 위치를 말하는 것입니다.
4-2) Func를 만났을 때 F10을 누른 경우
위 4-1 상황에서 F10을 누른 경우 노란색 하이라이트가 바로 아랫줄로 이동하는 것 을 볼 수 있습니다.
F10은 해당 줄을 실행하고 다음 줄로 넘어가는 것을 알 수 있습니다.
함수 쪽에서 F10을 쓰면 함수 내부를 거치지 않고 바로 실행한 다음 넘어가는 것을 볼 수 있습니다.
4-3) Func를 만났을 때 F11을 누른 경우
이렇게 함수에서 하이라이팅이 있을 때
F11을 함수 쪽에서 누르게 되면 함수 내부로 들어가는 것을 알 수 있습니다.
함수 내부 쪽에 노란색 하이라이팅이 있는 것을 알 수 있습니다.
4-4) Func 함수 내부에서 shift + F11을 누른 경우
위쪽에서 처럼 함수 내부에서 노란색 하이라이팅 일 때
바로 함수 밖으로 나오고 싶은 경우에 Shift + F11을 누르면 함수 밖으로 바로 빠져나올 수 있습니다.
이렇게 vs code에서 유니티 디버깅 세팅 및 방법에 대해서 알아보았습니다.
감사합니다.
'<개인공부> > [Unity]' 카테고리의 다른 글
[유니티] 텍스트 메시 프로 한글이 네모로 나올때 (Text Mesh Pro 한글 세팅) (4) | 2022.05.19 |
---|---|
[유니티] 랜덤 함수 Random.Range() (2) | 2022.05.11 |
[유니티] 로그캣(logcat)을 이용한 안드로이드 디버깅 방법 (0) | 2022.05.09 |
[유니티] 씬 전환, 씬 이동, Scene 전환 (SceneManager) (0) | 2021.09.30 |