Version: 5.6
Windows Store Apps: Plugins on .NET Scripting Backend
Windows Store: IL2CPP scripting back end

Windows Store Apps: Debugging on .NET Scripting Backend

크래시나 이상 동작이 발생하면 항상 <user>\AppData\Local\Packages\<productname>\TempState\UnityPlayer.log에 위치한 플레이어 로그를 확인해야 합니다. 버그 제출을 하는 경우, 중요한 정보가 될 수 있으므로 플레이어 로그를 첨부해야 합니다.

현재로서는 C# 스크립트만 디버그할 수 있습니다.

Note: Windows Store Apps are running with Microsoft .NET, that’s why it’s not possible to debug scripts with MonoDevelop, instead you have to use Visual Studio 2013.

아래는 간단하게 디버그하는 방법입니다.

  • When building to Windows Store Apps, check Unity C# projects
  • This will create Assembly-CSharp-* projects compatible with Windows Store Apps
  • 참고: 이전에 Unity C# projects를 체크하지 않은 경우, 빈 폴더에 빌드하거나 .sln과 .csproj 파일을 삭제해야 합니다. Unity는 이들 파일에 참조를 추가해야 하지만, 이미 파일이 존재하므로 덮어쓰지 않을 것이기 때문입니다.
  • 솔루션을 열면 Assembly-CSharp-* 프로젝트가 포함된 것을 볼 수 있습니다.
  • 브레이크 지점을 원하는 곳에 위치시킨 다음 애플리케이션을 디버거와 시작해야 합니다.

예외

애플리케이션을 실행하는 동안 예외가 발생하면 Visual Studio가 중단되도록 할 수 있습니다. Debug -> Exceptions로 가야 합니다.

  • 관리 예외를 위해 공통 언어 런타임 예외와 관리 디버깅 지원을 활성화해야 합니다.
  • 예외가 어디서 발생하는지 모르는 경우 모든 예외를 활성화해야 합니다.

참고: 모든 예외를 활성화하는 경우 WinRT originate error, WinRT transform error와 같은 문제 없는 예외가 발생하더라도 Visual Studio가 중단됩니다. 이런 경우 단순히 무시하면 됩니다.

UnityPlayer.dll에서 콜스택 해결

간혹 Unity 엔진이 크래시하는 경우가 있으며, 이 경우 콜스택을 해결할 수 있으면 중요한 정보를 얻을 수 있으며 필요한 경우 이 정보를 버그 리포트에 포함할 수도 있습니다.

참고: Unity 엔진 콜스택을 해결하려면 .pdb 파일이 필요합니다. Unity는 디버그 설정을 위해 .pdb 파일을 제공합니다.

Unity 엔진이 크래시되어 브레이크 포인트에 도달했다 가정해 봅시다. (참고: Debug -> Exceptions에서 모든 예외를 활성화하면 Visual Studio를 크래시가 발생하면 중단되도록 할 수 있습니다.) Debug -> Windows -> Call Stack으로 가면 Call Stack 창이 열릴 것입니다. UnityPlayer.dll에서 함수 이름이 나타나지 않는 경우 심볼이 로드되지 않은 것입니다. 이를 해결하려면 해당 함수를 마우스 오른쪽 버튼으로 클릭한 후 Load Symbols을 클릭해야 합니다. UnityPlayer.pdb 파일이 [프로젝트 경로]>\Players\[Windows80 또는 Windows81]\[X86, ARM 또는 X64]\debug에 위치하게 됩니다.

Microsoft-Windows-TWinUI

애플리케이션이 왜 디버거없이 실행되었는지에 대한 정보를 제공할 수 있는 로그입니다. 이 로그는 아래 경로에 있습니다.

Control Panel -> Administrative Tools -> Event Viewer -> Applications And Services Log -> Microsoft -> Windows -> Apps -> Microsoft-Windows-TWinUI/Operational

Windows Store Apps: Plugins on .NET Scripting Backend
Windows Store: IL2CPP scripting back end