스크립팅 도구
MonoDevelop에 관하여

콘솔

Console window (menu: Window > Console)는 오류, 경고 및 Unity에 의해 생성된 다른 메시지를 보여줍니다. 디버깅을 지원하기 위해, 당신은 Debug.Log, Debug.LogWarningDebug.LogError 함수를 사용하여 콘솔에 자신의 메시지를 표시할 수 있습니다.

콘솔 창의 툴바에는 메시지를 표시하는 방법에 영향을 미치는 여러 옵션이 있습니다.

Clear 버튼은 당신의 코드에서 생성된 모든 메시지를 삭제하지만, 컴파일 오류는 유지합니다. Clear On Play 옵션을 사용하면 게임을 실행할 때마다 자동으로 지워져 콘솔을 재정비할 수 있습니다.

또한 메시지가 콘솔에 표시되어, 업데이트되는 방법을 변경할 수 있습니다. Collapse 옵션은 계속 반복되어 오류 메시지의 첫 번째 인스턴스만 보여줍니다. 이것은 때때로 각 프레임 업데이트에서 동일하게 생성되는 null 참조 같은 런타임 오류에 매우 유용합니다. error Pause 옵션은 Debug.LogError가 스크립트에서 호출되면 재생을 일시 정지시킵니다(그러나 Debug.Log은 이 방법으로는 일시 정지하지 않는 것에 주의하십시오). 당신이 실행중인 특정 지점에서 playback을 동결하여 씬을 조사하고 싶을 때, 이것은 편리합니다.

마지막으로, 오류에 대한 자세한 정보를 표시하기 위해 두 가지 옵션이 있습니다. 콘솔 탭 메뉴의 Open Player Log_와 Open Editor Log_ 항목은 콘솔에 표시되지 않을 경우, 상세 정보를 기록하는 Unity의 로그 파일에 액세스합니다. 자세한 내용은 Log Files 섹션을 참조하십시오.

폐지된 API 경고 및 자동 업데이트

다른 메시지에서 Unity는 당신의 코드에서 폐지된 API 호출의 사용에 대한 경고를 나타냅니다. 예를 들어, Unity는 일단 일반적인 컴포넌트 유형에 액세스하기 위해 MonoBehaviour와 다른 클래스에서 “shortcuts”를 가지고 있었습니다. 그래서 예를 들어, 다음과 같은 코드를 사용하여 오브젝트의 Rigidbody에 액세스 할 수 있었습니다:

    // The "rigidbody" variable is part of the class and not declared in the user script.
    Vector3 v = rigidbody.velocity;

이 단축키는 사용되지 않으므로 현재 다음과 같은 코드를 사용해야 합니다:

    // Use GetComponent to access the component.
    Rigidbody rb = GetComponent<Rigidbody>();
    Vector3 v = rb.velocity;

폐지된 API 호출을 감지하면 Unity는 그들에 대한 경고 메시지를 나타냅니다. 이 메시지를 더블 클릭하면 Unity는 자동으로 추천하지 않는 사용법을 동등한 권장 사용법으로 업그레이드하려고 합니다.

스택 추적 logging

로그 메시지가 콘솔이나 로그 파일로 출력 시 어떻게 스택이 추적되는지를 명시할 수 있습니다.

이는 특히 오류 메시지가 명확하지 않을 때 유용합니다. 스택을 추적함으로써 어느 엔진 영역에서 오류가 발생하는 지 유추할 수 있습니다. 스택 추적(stack trace)을 로깅(logging)을 위한 옵션이 3가지가 있습니다:

  • None - 스택 추적이 출력되지 않습니다.
  • ScriptOnly - 관리되는(managed) 스택 추적만 출력됩니다.
  • Full - 네이티브(native)와 관리되는(managed) 스택 추적(stack trace) 모두 출력 됩니다. 완전한 스택 추적은 비싼 연산이 비싸고 디버깅 목적으로만 사용해야 한다는 것에 주의하십시요.

스크립팅 API를 통해서 스택 추적을 제어할 수도 있습니다. Application.stackTraceLogType을 참고하십시요.

스크립팅 도구
MonoDevelop에 관하여