다음을 통해 공유


Xamarin Profiler 문제 해결

로깅 및 진단

Xamarin 팀은 다음을 비롯한 정보를 제공하는 경우 문제를 추적하는 데 도움을 줄 수 있습니다.

  • 문제, 충돌 또는 실패 및 이를 앞둔 워크플로의 스크린캐스트입니다.
  • 로그 출력(아래 참조).
  • 프로파일링 세션에 대해 생성되는 .mlpd입니다(아래 참조).

로그 출력 가져오기

Mac에서 로그는 .에 ~/Library/Logs/Xamarin.Profiler/Profiler.<date>.log저장됩니다.

Windows %appdata%Local//Xamarin/Log/Xamarin.Profiler/Profiler.<date>.log 에서는 문제를 제출할 때마다 최신 로그를 포함하세요.

이동하면서 더 많은 로깅을 추가하고 있으므로 이 출력은 시간이 지남에 따라 증가하고 더 유용해져야 합니다.

.mlpd 파일 생성

.mlpd 파일은 모노 런타임 프로파일러의 압축된 출력입니다. Xamarin Profiler GUI는 .mlpd에서 데이터를 읽고 사용자에 대해 표시합니다. .mlpd 파일은 엔지니어가 Profiler가 데이터와 관련된 문제를 진단하는 데 도움이 되므로 Xamarin용 유용한 디버깅 도구입니다.

현재 세션의 .mlpd는 Mac의 /tmp 디렉터리에 자동으로 저장되며 타임스탬프로 식별할 수 있습니다. 로깅을 켜면 첫 번째 출력이 .mlpd 파일의 경로가 됩니다. .mlpd 파일은 일반적으로 ~/var/folders를 시작하는 디렉터리에 저장됩니다...

프로파일러의 메뉴에서 다른 > 이름으로 저장...선택하여 현재 세션의 .mlpd를 저장할 수도 있습니다.

Mac용 Visual Studio:

Saving .mlpd file in Visual Studio for Mac

Visual Studio:

Saving .mlpd file in Visual Studio

.mlpd에는 많은 정보가 포함되어 있으며 파일 크기가 커집니다.

문제 해결

아래 목록에서는 Profiler를 사용하기 위한 일반적인 문제, 해결 방법 및 팁과 요령을 보여 줍니다.

참고 항목

Windows의 Visual Studio Enterprise 또는 Mac용 Visual Studio 이 기능의 잠금을 해제하려면 Visual Studio Enterprise 구독자여야 합니다.

iOS 프로파일러 옵션을 볼 수 없거나 회색으로 표시됨 [Visual Studio 및 Mac용 Visual Studio]

이 문제를 해결하려면 다음 설정을 확인합니다.

  • 디버그 구성을 사용하고 있는지 확인합니다.
  • SGen 가비지 수집기를 사용하고 있는지 확인합니다.
  • 플랫폼이 지원되는지 확인합니다.
  • 올바른 라이선스가 있는지 확인합니다.
  • 로그인하고 제대로 인증되었는지 확인합니다.
  • [Visual Studio] Visual Studio Enterprise를 사용해야 하며 유효한 Enterprise 라이선스가 있어야 합니다.

프로파일러를 시작하려고 할 때 오류가 발생합니다.

Visual Studio에서 프로파일러를 사용할 때 이 오류 상자가 표시되는 경우:

Error box when using the profiler in Visual Studio

일반적으로 시뮬레이터/에뮬레이터를 시작할 수 없기 때문입니다. 앱을 정상적으로 실행하고 제공된 문제를 해결한 다음 Profiler를 다시 사용하세요.

특정 스레드를 보려면

특별히 보려는 스레드가 있는 경우 생성 초기에 스레드 이름을 지정하여 대신 가져오는 ThreadName0x0것이 좋습니다. 예를 들어 스레드 이름을 로 UI설정하려면 다음 코드를 사용할 수 있습니다.

RunOnUiThread (() => {
  Thread.CurrentThread.Name  = "UI";
});