次の方法で共有


Xamarin Profiler のトラブルシューティング

ログと診断

Xamarin チームは、次のような情報を提供いただければ、イシューの追跡をお手伝いできます。

  • 問題、クラッシュ、または失敗と、そこに至るまでのワークフローを示すスクリーンキャスト。
  • ログ出力 (下記参照)。
  • プロファイル セッション用に生成される .mlpd (下記参照)。

ログ出力の取得

Mac 上では、ログは ~/Library/Logs/Xamarin.Profiler/Profiler.<date>.log に保存されます。

Windows では、それらは %appdata%Local//Xamarin/Log/Xamarin.Profiler/Profiler.<date>.log に保存されます。イシューを送信する場合は、そのたびに最新のログを含めてください。

先に進めながらログを追加していくので、この出力は徐々に増加し、より有用なものとなるはずです。

.mlpd ファイルの生成

.mlpd ファイルは、mono ランタイム プロファイラーの圧縮出力です。 Xamarin Profiler GUI では、.mlpd からそのデータを読み取り、ユーザー向けに表示します。 .mlpd ファイルは、Xamarin 用の便利なデバッグ ツールです。それを参照することで、エンジニアは、Profiler に含まれる可能性のある、データに関する問題を容易に診断することができるからです。

現在のセッションの .mlpd は Mac /tmp ディレクトリに自動的に保存され、タイムスタンプで識別することができます。 ログを有効にすると、最初の出力は .mlpd ファイルへのパスになります。 .mlpd ファイルは、通常、~/var/folders... で始まるディレクトリに保存されます。

現在のセッションに対する .mlpd は、Profiler のメニューから [ファイル] > [名前を付けて保存...] の順に選択して保存することもできます。

Visual Studio for Mac:

Saving .mlpd file in Visual Studio for Mac

Visual Studio:

Saving .mlpd file in Visual Studio

.mlpd には多くの情報が保存されるため、ファイル サイズの増大に注意することが重要です。

トラブルシューティング

次の一覧では、Profiler を使用する場合の一般的な注意事項、回避策、ヒントおよびテクニックを示します。

Note

Windows 用 Visual Studio Enterprise または Visual Studio for Mac のいずれかでこの機能のロックを解除するには、Visual Studio Enterprise のサブスクライバーである必要があります。

iOS プロファイラー オプションが表示されない、または灰色表示になっている [Visual Studio と Visual Studio for Mac]

これを解決するには、次の設定を確認します。

  • デバッグ構成を使用していることを確認する
  • SGen ガベージ コレクターを使用していることを確認する。
  • プラットフォームがサポートされていることを確認する。
  • 適切なライセンスを所持していることを確認する。
  • ログインし、適切に認証されていることを確認する。
  • [Visual Studio] Visual Studio Enterprise を使用していて、有効な Enterprise ライセンスを所持している必要がある。

Profiler を起動しようとするとエラーが発生する

Visual Studio で Profiler を使用しているときにこのエラー ボックスが表示された場合:

Error box when using the profiler in Visual Studio

通常は、シミュレーターまたはエミュレーターを起動できないことが原因です。 アプリを通常どおりに実行して、発生する問題を修正してから、Profiler をもう一度使用してみてください。

特定のスレッドを監視するには

詳しく監視したいスレッドがある場合は、それを作成する最初の段階でスレッドに名前を付けて、0x0 ではなく ThreadName を取得することが理想的です。 たとえば、スレッド名を UI に設定するには、次のコードを使用できます。

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