다음을 통해 공유


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를 다시 사용하세요.

특정 스레드를 보려면

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

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