Unity/툴 기능

유니티 디버깅 [Unity , Visual Studio]

WithChan 2024. 8. 28. 22:19
728x90
반응형

 

 

Debugging 디버깅 이란 ?

디버깅은 코드를 개발하거나 수정할 때 발생하는 문제를 찾고 해결하는 과정입니다. Visual Studio와 같은 IDE에서 제공하는 디버깅 도구를 효과적으로 활용하면 버그를 신속하게 발견하고 수정할 수 있습니다.

[Unity VisualStudio 디버깅 방법]

먼저 Unity의 Script Tool이 Visual Studio로 설정되어 있는지 확인합니다.

편집 → 환경 설정

외부 도구 → 외부 스크립트 편집기에서

설치한 Visual Studio 로 되어있는지 확인해줍니다.

이제 Visual Studio로 돌아가

디버깅이 필요한 줄에 F9 키를 입력해 Break Point 를 정해줍니다 (직접 좌측에)

다음 Visual Studio 상단에

Unity에 연결 버튼을 클릭해 주세요

이제 에디터로 돌아가면 해당 팝업이 출력되어있습니다.

두 가지 옵션이 있습니다.

1) 이 세션에 대한 디버깅을 활성화합니다.

  • 세션 단위로 디버깅 활성화 : 이 옵션을 선택하면 현재 세션에서만 디버깅이 활성화됩니다.

2) 모든 프로젝트에 대한 디버깅을 활성화합니다.

  • 영구적 디버깅 활성화 : 이 옵션을 선택하면, Visual Studio가 열려있는 동안 모든 Unity 프로젝트에 대해 디버깅이 자동으로 활성화됩니다. Unity 에디터를 재시작하거나 다른 프로젝트를 열어도 디버깅이 활성화된 상태로 유지됩니다.

1)번 사용을 권장합니다.

연결 이후 에디터 상단에 플레이 버튼을 클릭합니다.

에디터 실행 후 Break Point 코드 부분이 호출될 때 에디터가 멈추며 Visual Studio 가 활성화 됩니다.

좌측 Break Point 에 표시된 빨간 점 부분에 화살표가 생기면 정상적으로 작동 된 걸로 보시면 됩니다.

정상적으로 Break 됐으면 이제 디버깅을 해봅니다.

하단에 탭이 하나 실행됐습니다.

자동 , 로컬 , 조사식 탭이 있습니다.

 

  • 자동 은 Visual Studio가 현재 디버깅 중인 코드 블록에서 자동으로 중요한 변수나 표현식을 추적하여 표시하는 창입니다.
  • 로컬 은 현재 실행 중인 함수나 메서드에서 정의된 모든 지역 변수(local variables)를 보여주는 창입니다.
  • 조사식 은 사용자가 직접 조사하고 싶은 변수나 표현식을 추가하여 그 값을 지속적으로 모니터링할 수 있는 창입니다.

이름 부분에 변수나 식을 직접 입력하여 사용할 수 있습니다.

변수 명을 입력하면 하단에 리스트가 출력되고 맞는걸 찾아 클릭해 주시면 됩니다.

(코드에서 드래그해서 직접 넣어주는 방법도 있습니다.)

 

 

 

디버깅을 활용하면 Break 된 시점에 값 들을 실시간으로 확인하여 오류 위치를 파악하거나 상태 분석을 할 수 있습니다.

 

 

또한 해당 값을 직접 수정하여 새로운 값을 적용한 후에 상태를 확인할 수 있습니다.

 

 

 

기본 단축키

  • BreakPoint (F9): 확인하고 싶은 줄에서 F9 를 눌러 BreakPoint 를 만듭니다. 멈추는 시점은 해당 줄이 호출되기 직전 입니다.
  • Step Over (F10): 현재 줄의 코드를 실행하고, 함수 호출이 있는 경우 함수 내부로 들어가지 않고 다음 줄로 넘어갑니다.
  • Step Into (F11): 함수 호출이 있는 경우, 그 함수 내부로 들어가서 첫 번째 줄부터 실행을 시작합니다.
  • Step Out (Shift + F11): 현재 함수의 나머지 코드를 실행한 후 호출한 지점으로 돌아갑니다.

 

 

[알아두면 좋은 기능들]

호출 스택

조사식 탭 우측으로는 호출 스택 을 확인할수 있는 탭이 있습니다

호출 스택 창은 현재 실행 중인 코드의 함수 호출 순서를 보여줍니다.

이 창을 통해 어떤 경로로 현재 위치에 도달했는지 알 수 있습니다.

 

 

중단점 창

하단에 “중단점” 버튼을 클릭하여 진입합니다.

이 창에서는 중단점의 위치를 리스트로 확인할 수 있습니다.

리스트의 항목을 더블클릭하면 해당 위치로 바로 가거나 우클릭하여 삭제할 수 있습니다.

 

 

예외 설정

하단의 “예외 설정” 버튼을 클릭하여 진입합니다.

이 창에서는 특정 예외가 발생했을 때만 디버거가 중단되도록 설정할 수 있습니다.

 

 

조건 중단점(Conditional Breakpoints)

BreakPoint 에 조건을 설정하여 특정상황에서 코드가 중단되도록 할 수 있습니다.

해당 기능을 사용하면 불필요하게 BreakPoint 을 계속 만나는 것을 피할 수 있습니다.



728x90
반응형
LIST