Unity 콘솔 메시지와 로그 파일에는 자세한 스택 추적 정보가 포함될 수 있습니다. 또한 콘솔은 메시지를 생성한 코드 라인에 연결됩니다. 로그 항목을 나타내는 함수 호출의 라인, 메서드 또는 순서를 식별하려는 경우 유용합니다.
팁: 또 다른 방법으로는 에디터나 빌드된 플레이어에 디버거를 연결하여 코드를 검사할 수 있습니다.
Unity는 관리되는 코드와 관리되지 않는 코드 모두에 스택 추적 정보를 제공할 수 있습니다.
관리되는 코드: Unity에서 실행되는 관리되는 DLL 또는 C# 스크립트입니다. 이는 Unity와 함께 제공되는 스크립트이거나 직접 작성한 커스텀 스크립트, 에셋 스토어 플러그인과 함께 포함된 타사 스크립트, 엔진에서 실행되는 다른 C# 스크립트일 수 있습니다.
관리되지 않는 코드: 네이티브 Unity 엔진 코드 또는 컴퓨터나 타겟 빌드 플랫폼에서 직접 실행되는 네이티브 플러그인 코드입니다. 관리되지 않는 코드는 일반적으로 C 또는 C++ 코드에서 컴파일됩니다. 네이티브 바이너리의 원본 소스 코드가 있는 경우에만 액세스할 수 있습니다. 일반적으로 코드 또는 엔진 코드에 의해 오류가 발생했는지, 엔진 코드의 어느 부분인지 확인해야 하는 경우에만 관리되지 않는 코드에 스택 추적을 사용합니다.
Unity는 세 가지 스택 추적 옵션을 제공합니다.
스택 추적, 특히 전체 스택 추적을 확인하는 작업은 리소스를 많이 소모합니다. 스택 추적에 대한 일부 베스트 프랙티스는 다음과 같습니다.
참고: 스택 추적 옵션은 빌드 설정이며 빌드된 플레이어에게 영향을 줍니다. 이는 에디터의 뷰 환경 설정이 아닙니다.
스택 추적에 포함할 세부 사항의 정도를 지정하려면 다음과 같이 스크립팅 API 또는 에디터를 사용할 수 있습니다.
스크립팅 API를 통해 스택 추적 로깅을 제어하려면 Application.SetStackTraceLogType을 사용합니다. API를 사용하여 빌드되기 전 또는 실행 중에 플레이어의 스택 추적 설정을 변경할 수 있습니다.
Player Settings 창에서 Edit > Project Settings > Player > Other Settings를 선택합니다. 새로운 설정으로 플레이어를 다시 빌드합니다.
메시지의 전체 텍스트에는 링크가 있는 코드 파일의 특정 라인에 대한 레퍼런스가 포함되어 있습니다. 임의의 링크를 클릭하여 참조된 라인의 IDE에서 파일을 엽니다.
빌드된 애플리케이션은 콘솔에 출력되지 않습니다. 스택 추적을 보려면 애플리케이션의 로그 파일을 사용합니다.