관리되는 코드에서 예외가 발생하는 경우 예외에 대한 스택 추적이 예외의 원인을 이해하는 데 유용할 수 있습니다. 하지만 아래 설명과 같이 경우에 따라 관리되는 스택 추적이 iOS에서 올바르게 표시되지 않을 수 있습니다. 스택 추적은 Xcode 빌드 설정에 따라서도 달라집니다.
디버그 빌드 설정을 iOS에서 사용하는 경우 IL2CPP는 신뢰할 수 있는 관리 스택 추적을 보고하고 관리되는 메서드를 호출 스택에 각각 포함해야 합니다. 스택 추적에는 원본 C# 소스 코드의 줄 번호가 포함되지 않습니다.
릴리스 빌드 설정을 사용하는 경우 IL2CPP는 관리되는 메서드가 하나 이상 누락된 호출 스택을 생성할 수 있습니다. 이는 C++ 컴파일러에서 누락된 메서드를 인라이닝했기 때문입니다. 메서드를 인라이닝하면 일반적으로 런타임에 성능을 높이는 데 유리하지만, 호출 스택을 이해하기가 더 어려워질 수 있습니다. IL2CPP는 항상 호출 스택에서 관리되는 메서드를 하나 이상 제공합니다. 이 메서드는 예외가 발생한 메서드고 인라이닝되지 않은 다른 메서드도 포함합니다.
예외를 로컬에서 재현할 수 있는 경우 Xcode를 사용하여 어떤 메서드가 인라이닝되었는지 확인합니다. Xcode에서 릴리스 설정을 사용하여 애플리케이션을 실행하고 예외 중단점을 설정합니다. Xcode의 네이티브 호출 스택 뷰에는 실제로 존재하는 메서드와 인라이닝된 메서드가 표시됩니다.
IL2CPP 호출 스택에는 디버그 또는 릴리스 설정의 소스 코드 줄 번호가 포함되지 않습니다.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.