Version: 2021.3
언어: 한국어
Unity에서 C# 코드 디버그
유닛 테스트

스택 추적 로깅

Unity 콘솔 메시지와 로그 파일에는 스택 추적에 대한 자세한 정보가 포함될 수 있습니다. 콘솔은 또한 메시지를 생성한 코드 줄로 연결됩니다. 이는 로그 엔트리를 표시하게 한 함수 호출의 줄, 메서드 및 시퀀스를 식별하고자 할 때 유용합니다.

팁: 또 다른 방법으로는 에디터나 빌드된 플레이어에 디버거를 연결하여 코드를 검사할 수 있습니다.

관리되는 코드 및 관리되지 않는 코드에 대한 스택 추적

Unity는 관리되는 코드와 관리되지 않는 코드 모두에 스택 추적 정보를 제공할 수 있습니다.

  • 관리되는 코드: Unity에서 실행되는 관리되는 DLL 또는 C# 스크립트입니다. 이는 Unity와 함께 제공되는 스크립트이거나 직접 작성한 커스텀 스크립트, 에셋 스토어 플러그인과 함께 포함된 타사 스크립트, 엔진에서 실행되는 다른 C# 스크립트일 수 있습니다.

  • 관리되지 않는 코드: 네이티브 Unity 엔진 코드, 컴퓨터에서 직접 실행되는 네이티브 플러그인의 코드, 또는 타겟 빌드 플랫폼에 있는 코드입니다. 관리되지 않는 코드는 대개 C 또는 C++ 코드에서 컴파일됩니다. 네이티브 바이너리의 원본 소스 코드가 있을 때만 액세스할 수 있습니다. 일반적으로 오류의 원인이 코드에 있는지 엔진에 있는지 그리고 엔진 코드의 어느 부분에 그 원인이 있는지 결정해야 하는 경우에만 관리되지 않는 코드에 대한 스택 추적을 사용합니다.

Unity는 세 가지 스택 추적 옵션을 제공합니다.

  • None: Unity가 스택 추적 정보를 출력하지 않습니다.
  • ScriptOnly: Unity가 관리되는 코드에 대한 스택 추적 정보만 출력합니다. 이 옵션이 기본값입니다.
  • Full: Unity가 관리되는 코드와 관리되지 않는 코드 모두에 대한 스택 추적 정보를 출력합니다.

스택 추적 리소스 요구 사항

스택 추적, 특히 전체 스택 추적을 확인하는 작업은 리소스를 많이 소모합니다. 스택 추적에 대한 몇몇 베스트 프랙티스에는 다음 사항이 포함됩니다.

  • 디버그 용도로만 스택 추적을 사용합니다. 스택 추적이 활성화된 상태로 애플리케이션을 사용자에게 배치하면 안 됩니다.
  • 스택 추적을 표시하는 메시지 타입을 제한합니다. 예를 들어 예외와 경고의 경우에만 스택 추적을 사용합니다.

스택 추적 타입 설정

참고: 스택 추적 옵션은 빌드 설정이며 빌드된 플레이어에 영향을 미칩니다. 에디터의 뷰 환경 설정이 아닙니다.

스택 추적에 포함할 세부 사항의 정도를 지정하려면 다음과 같이 스크립팅 API 또는 에디터를 사용할 수 있습니다.

  • 스크립팅 API를 통해 스택 추적 로깅을 제어하려면 Application.SetStackTraceLogType을 사용합니다. 빌드되기 전 또는 실행 중 API를 사용하여 플레이어의 스택 추적 설정을 변경할 수 있습니다.

  • 콘솔을 사용하려면 콘솔 메뉴 버튼을 선택하고 다음을 따릅니다.
    • 모든 콘솔 메시지 타입에 대해 동일한 스택 추적 옵션을 선택하려면 *Stack Trace Logging* > All을 선택합니다.
    • 콘솔 메시지 타입 중 하나에 대해서만 스택 추적 옵션을 선택하려면 Stack Trace Logging > [MESSAGE TYPE]을 선택합니다. 새로운 설정으로 플레이어를 다시 빌드합니다.
  • 플레이어 설정 창을 사용하려면 File > Build Settings > Player Settings > Other Settings를 선택합니다. 새로운 설정으로 플레이어를 다시 빌드합니다.

콘솔의 스택 추적 로깅 옵션입니다. 이 예시는 예외에 대한 옵션을 보여줍니다.
콘솔의 스택 추적 로깅 옵션입니다. 이 예시는 예외에 대한 옵션을 보여줍니다.

스택 추적 출력에서 소스 파일 열기

메시지의 전체 텍스트에는 링크가 있는 코드 파일의 특정 줄에 대한 레퍼런스가 포함되어 있습니다. 아무 링크나 클릭하여 참조된 줄의 IDE에서 파일을 엽니다.

빌드된 애플리케이션의 출력 로그 파일 검색

빌드된 애플리케이션은 콘솔로 출력하지 않습니다. 스택 추적을 확인하려면 애플리케이션의 로그 파일을 사용합니다.

Unity에서 C# 코드 디버그
유닛 테스트