Xamarin Profiler 문제 해결Xamarin Profiler Troubleshooting

로깅 및 진단Logging and Diagnostics

Xamarin 팀 정보를 제공 하는 경우 문제를 추적 하는 데 도움이 수 포함 합니다.The Xamarin team can help track issues if you provide us with information, including:

  • 문제, 충돌 및 실패에 이르는 워크플로 스크린 캐스트 합니다.A Screencast of the problem, crash, or failure and your workflow leading up to it.
  • 로그 출력 (아래 참조)입니다.Log outputs (see below).
  • 합니다 .mlpd 프로 파일링 세션 (아래 참조)에 대해 생성 되 고 있습니다.The .mlpd being generated for the profiling session (see below).

로그 출력 가져오기Getting Log Outputs

Mac에서 로그에 저장 됩니다 ~/Library/Logs/Xamarin.Profiler/Profiler.<date>.log합니다.On Mac logs are saved to ~/Library/Logs/Xamarin.Profiler/Profiler.<date>.log.

Windows에서에 저장 된 이러한 %appdata%Local//Xamarin/Log/Xamarin.Profiler/Profiler.<date>.log 문제를 제출할 때마다 최신 로그를 포함 하세요.On Windows these are saved to %appdata%Local//Xamarin/Log/Xamarin.Profiler/Profiler.<date>.log Please include the latest log whenever you submit an issue.

자세한 로깅 서,이 출력 증가 하며 시간이 지남에 따라 더 유용할 수 있으므로 추가 될 예정입니다.We’re adding more logging as we go, so this output should grow and become more useful over time.

.Mlpd 파일 생성Generating .mlpd Files

.mlpd 파일이 압축 된 mono 런타임이 프로파일러 출력 합니다.An .mlpd file is the compressed output of the mono runtime profiler. Xamarin Profiler GUI에서 데이터를 읽습니다.는 .mlpd 사용자에 대 한 표시 합니다.The Xamarin Profiler GUI reads the data from an .mlpd and displays it for the user. .mlpd 파일 데이터를 사용 하 여 있을 수는 Profiler 문제를 진단 하는 엔지니어 수 있기 때문에 Xamarin 용 디버깅 도구 유용 합니다..mlpd files are useful debugging tools for Xamarin because they help our engineers diagnose problems the Profiler might be having with your data.

합니다 .mlpd 현재 세션은 Mac의 자동 저장에 대 한 /tmp 디렉터리 타임 스탬프에서 식별할 수 있습니다.The .mlpd for the current session is automatically saved in your Mac’s /tmp directory, and can be identified by the timestamp. 로깅을 설정 하면 첫 번째 출력에 대 한 경로 수를 .mlpd 파일입니다.If you turn on logging, the first output will be the path to the .mlpd file. 합니다 .mlpd 파일은 일반적으로 ~/var/폴더를 시작 하는 디렉터리에 저장 하는 중...The .mlpd file will normally be saved in the directory starting ~/var/folders…

합니다 .mlpd 를 선택 하 여 현재 세션으로 저장할 수도 있습니다에 대 한 파일 > 다른 이름으로 저장 하는 중...The .mlpd for a current session can also be saved by choosing File > Save As… Profiler의 메뉴에서:from the Profiler’s menu:

Visual Studio for Mac:Visual Studio for Mac:

Visual Studio:Visual Studio:

것이 중요 한 사실은 .mlpd 많은 정보를 포함 하 고 파일 크기가 커집니다.It is important to note that .mlpd contain a lot of information, and the file size will be large.

문제 해결Troubleshooting

아래 목록에는 일반적인 문제, 해결 방법 및 위한 팁과 요령을 Profiler를 사용 하 여 보여 줍니다.The list below shows common gotchas, workarounds, and tips and tricks for using the Profiler.

참고

참고: Visual Studio 해야 Enterprise mac 용 Windows 하거나 Visual Studio Enterprise 또는 Visual Studio에서이 기능을 잠금 해제를 위해 구독자NOTE: You need to be a Visual Studio Enterprise subscriber to unlock this feature in either Visual Studio Enterprise on Windows or Visual Studio for Mac.

IOS 프로파일러 옵션을 볼 수 없는 또는 그는 회색으로 [Visual Studio 및 Mac 용 Visual Studio]I can't see the iOS profiler option, or it is greyed out [Visual Studio and Visual Studio for Mac]

이 문제를 해결할 수 있도록 다음 설정을 확인 합니다.Check the following settings to resolve this:

  • 디버그 구성을 사용 하 고 있는지 확인 합니다.Ensure that you are using the Debug configuration
  • SGen 가비지 수집기를 사용 하 고 있는지 확인 합니다.Ensure that you are using the SGen Garbage collector.
  • 플랫폼 확인 지원합니다.Ensure the Platform is supported.
  • 올바른 라이선스가 있는지 확인 합니다.Ensure that you have the right license.
  • 와 올바르게 인증 된 로그온 했는지 확인 합니다.Ensure that you are logged in and properly authenticated.
  • [Visual Studio] 사용 해야 Visual Studio Enterprise 있고 유효한 엔터프라이즈 라이선스가 있어야 합니다.[Visual Studio] You must be using Visual Studio Enterprise and have a valid Enterprise license.

프로파일러를 시작 하려고 할 때 오류가 발생I get an error when I try to launch the profiler

Visual Studio에서 프로파일러를 사용 하는 경우이 오류 상자에 실행 합니다.If you run into this error box when using the profiler in Visual Studio :

시뮬레이터를 시작 하는 것으로 인해 일반적으로 / 에뮬레이터.It is normally due to being unable to launch to the Simulator / Emulator. 시도 하 고 앱을 정상적으로 실행에 제공 하 고 다시는 Profiler를 사용 하려고 하는 문제를 해결 합니다.Try and run the app normally, fix the issues that it gives, and then try to use the Profiler again.

특정 스레드를 조사 하려면To watch a specific thread

스레드는 특히 시청 하려는 경우 것이 이상적 이름을 가져오려면 생성 시작할 때 스레드 ThreadName 대신 0x0합니다.If you have a thread that you wanted to specifically watch, it would be ideal to name the thread at the very beginning of its creation to get ThreadName instead of 0x0. 예를 들어도 스레드 이름을 설정 하려면 UI, 다음 코드를 사용할 수 있습니다.For example to set the thread name as UI, you could use the following code:

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