Debugger

Unity 디버거는 사용자가 사용자의 코드를 실시간 검사하게 해줍니다. 예를 들어 그것은 사용자가 언제 함수가 어떤 값들과 함께 불려질는지를 결정할 수 있도록 도와줍니다. 게다가 그것은 사용자가 사용자의 게임이 실행되는 동안에 주어진 시간에 스크립트의 값을 보는 것을 허용합니다. 사용자는 그들을 차례차례 실행하는 것에 따라서 사용자의 스크립트에서 버그와 로직 문제들을 찾을 수 있습니다.

Unity는 사용자의 게임에서 스크립트를 디버그하기 위해서MonoDevelop IDE를 사용합니다. 사용자는 엔진에서 지원하는 모든 언어를 디버그할 수 있습니다 (JavaScript, C#, and Boo).

디버거가 사용자의 모든 코드와 모든 부호들을 로드해야 한다는 것을 명심하세요. 이것은 실행동안에 사용자 게임의 성능에 작은 영향을 줄 수도 있다는 것을 참고하세요. 일반적으로 이런 오버헤드는 게임에 영향을 줄 만큼 크지는 않습니다. << << << MonoDevelop window 는 unity의 하나의 script를 디버깅 합니다 << << <<

Debugging in Unity.

윈도우즈에서 사용자는 Unity 설치의 부분으로서MonoDevelop을 설치할지를 선택해야 합니다 (기본으로 선택됩니다).

  • 사용자가 사용자의 프로젝트에서 전에MonoDevelop을 사용한 것이 없다면 사용자의MonoDevelop 프로젝트를 동기화 합니다. 이것은MonoDevelop 내에서 사용자의 프로젝트를 열 것입니다.

<< <<

  • 사용자가 분석하기를 원하는 라인을 클릭하는 것에 의해 사용자의 스크립트에서 필요한 breakpoints를 세팅합니다.

<< <<

  • Unity 또는 사용자의 플레이어를 시작합니다.
    • Unity: 사용자가 Preferences 윈도우에서 "Allow attached debugging"를 체크되도록 합니다.
    • Players: 사용자가 "Development build"와 "Allow script debugging" 옵션을 활성화한 상태로 사용자 플레이어를 구축하도록 합니다.
  • MonoDevelop에서 사용자의 프로젝트를 엽니다.
  • MonoDevelop에서 툴바에서 Attach 버튼을 클릭하거나 _Run_ 메뉴로부터 _Attach_를 선택합니다.
  • 나타나는 다이아로그로 부터 사용자가 디버그하고 싶은 아이템을 선택합니다.
  • _참고:_
    • 현재 지원되는 디버깅 타겟: Unity 편집기, 데스트탑 독립형 플레이어, Android와iOS 플레이어
    • 사용자의 플레이어가 배경에서 실행되지 않도록 세팅된다면 (디폴트), 사용자는 사용자의 플레이어가 리스트에 나타나도록 하기 위해서 몇 초간 그것에 초점을 맞출 필요가 있을지도 모릅니다.
    • Android와iOS 플레이어는 스크립트 디버깅이 활성화될 때 활성화된 네트워킹을 가져야 합니다. 모든 플레이어는MonoDevelop가 실행되는 컴퓨터로서 같은 네트워크 서브넷 위에 있어야할 필요가 있습니다.

<<

    {{:unity3d:MonoDevelopAttach.png}}

<< <<

<< <<

  • 사용자가 플레이 모드에 들어갈 때 사용자의 스크립트 코드는 디버거에서 실행할 것입니다.
  • 하나의 breakpoint가 일어날 때 스크립트 실행은 멈출 것이고 사용자는 사용자의 스크립트 메서드로 부터 들어가고 건너뛰고 나오고 사용자의 변수를 검사하고 콜 스택을 검사하기 위해서MonoDevelop를 사용할 수 있어야 할 것입니다.

*** 주의: 사용자가 탑 레벨 메서드 (e.g. Update())에서 디버깅을 끝낼 때 또는 사용자가 다음의 breakpoint로 가기를 원할 때 사용자는 사용자의 함수의 끝 밖으로 나가는 것 대신에 _Continue_ 명령을 사용하는 것에 의해 더 좋은 디버거 성능을 경험할 수 있을 것입니다.

    {{:unity3d:MonoDevelopUnityDebugging.png}}
    {{:unity3d:MonoDevelopDebugView.png}}

<< <<

  • 사용자가 디버깅을 끝낼 때, 툴 바에서Detach 또는 Stop버튼을 클릭하거나 _Run_메뉴에서 _Detach_ 또는 _Stop_를 선택합니다.

Hints.

  • 사용자가 _this_ 오브젝트로 하나의watch를 추가한다면, 사용자는 스크립트가 부착된 GameObject의 내부 값(위치, 스케일, 회전…)을 검사할 수 있습니다.

<< <<

iOS remote debugging instructions

위에서 설명된 지시사항 외에도 Unity iOS 어플리케이션은 성공적인 디버깅을 위해서 몇몇의 부가적인 스텝을 필요로 합니다:

  1. 사용자의iDevice를 사용자의WiFi 네트워크에 부착합니다 (리모트 프로파일링을 위한 것과 같은 필수조건).
  2. Unity 편집기에서 Hit build & run.
  3. 어플리케이션이 구축, 설치되고 Xcode를 통해서 시작될 때Xcode에서 Stop을 클릭합니다.
  4. 사용자의iDevice에서 수동적으로 사용자의 어플리케이션을 찾고 시작합니다. (_주의:_ 어플리케이션이Xcode를 통해서 시작되면 사용자는 하나의breakpoint에 다다른 후에 다시 시작할 수 없을 것입니다).
  5. App이 디바이스에서 실행될 때, MonoDevelop로 바꾸고 디버깅 툴에서 attach 아이콘을 클릭합니다. 가능한 인스턴스 리스트에서 사용자의 디바이스를 선택합니다 (몇몇의 인스턴스가 보여지면 아래 것을 선택합니다).

<<

역링크