アプリの品質確認

[品質] ページに表示されるグラフと情報には、アプリのパフォーマンスと品質に関連するデータの概要が示されます。このページの情報を参考にして、エラー (クラッシュ、イベントが応答しない、JavaScript 例外など) が発生したユーザーのパーセンテージ、エラー率、そのエラーに関する最も一般的な原因を追跡します。

  アプリの品質データを表示するには、アカウントで利用統計情報収集を有効にする必要があります。利用統計情報収集をしばらく無効にした後に有効にすると、データが表示されるまでに数日かかることがあります。

品質レポートへのアクセス

[品質] ページを表示するには、次の手順を実行します。

  1. Windows ストア ダッシュボードを開き、アプリを見つけます。
      アプリの品質が表示されるのは、そのアプリが Windows ストアに登録されており、[ストア内のアプリ] タイトルの下に表示される場合だけです。
  2. アプリのタイルの [詳細] をクリックし、[アプリの概要] ページを表示します。
  3. 左側のメニューの [品質] をクリックします。
  4. ページの先頭にあるフィルターを確認し、確認するアプリの条件を設定します。
      Windows 8 と Windows 8.1 の両方を対象にそれぞれパッケージを公開した場合、既定では、Windows 8.1 の品質データが表示されます。このフィルターを変更することで、Windows 8 の品質データを表示することができます。

品質レポートによって、3 種類のエラーを追跡できます。

  • クラッシュ: アプリが予期せず終了した場合、クラッシュが記録されます。クラッシュが発生したプログラム コード内の場所も一緒に記録されます。 このグラフには、コンピューター 1 台あたり 1 日平均何回クラッシュが発生しているかが示されます。また、収集されたデータの中で最も頻繁にクラッシュが発生している場所が表に示されます。
  • アプリの応答停止イベント: アプリがユーザー入力に応答しなくなると、応答停止イベントが記録されます。イベントが発生したアプリのモジュールも一緒に記録されます。 このグラフには、コンピューター 1 台あたり 1 日平均何回応答停止になるかが示されます。また、収集されたデータの中で最も頻繁にアプリが応答停止になる場所が表に示されます。
  • JavaScript 例外: JavaScript を使うアプリで JavaScript 例外が発生すると、その例外が記録されて集計されます。 このグラフには、コンピューター 1 台あたり 1 日平均何回これらの例外が発生しているかが示されます。また、収集されたデータの中で最も一般的な例外が表に示されます。

エラー率のデータとよく発生するエラー

エラー率のデータは、ユーザーのサンプル セットから取得されます。このサンプルは、アプリをインストールした実際のユーザーの適切な代表として選ばれており、エラーを経験したユーザーに限られません。このデータは、使用の初期段階で発生したエラーのみを対象としています。これは、アプリの計測された信頼性は時間と共に安定する傾向を示し、一定の使用後はエラー率がほとんど変化しなくなることが確認されているためです。

   サンプル セットが統計的に重要ではないという警告が表示される場合があります。これは、まだ十分なデータを取得していないため、アプリの品質とパフォーマンスの正確なサンプルと見なすことはまだできないことを意味します。

よく発生するエラーの一覧のデータは、アプリのすべてのユーザーから収集されます。エラーが原因でこれらのユーザーの多くが使用要件を満たしていない場合、エラー率は 0 になりますが、ここに示すように、アプリに関してよく発生するエラーは表示されます。

crashrate

ユーザーが多く経験するエラーを理解することで、エラーを修正し、Windows ストアに登録されているアプリの更新プログラムを公開できます。

クラッシュとハングについて

クラッシュとハングに関しては、アプリの最新リリースでよく発生する上位 5 つのエラーが示されます。[カウント] は、アプリのすべてのユーザーの環境で発生したエラーの回数を示します。 [ダウンロード] リンクは、エラーのプロセス ダンプが格納されている .cab ファイルを指しています (アプリの .appxupload パッケージをデバッグ データと共にビルドする場合)。その .cab ファイルをダウンロードして Microsoft Visual Studio デバッガーで開くと、問題に関する詳しい情報を入手できます。詳しくは、「デバッグとテスト」をご覧ください。

crashesandhangs

エラーは、エラー名によって一意に識別されます。ハングとクラッシュのエラー名の例を次に示します。

NULL_CLASS_PTR_READ_c0000005_mydll.dll!myfunc::DoOp

エラーは、次の要素に分解できます。

要素

問題クラス

NULL_CLASS_PTR_READ

エラー コード

c0000005

記号

mydll.dll!myfunc::DoOp

 

関連付けられている .cab ファイル (エラーに関連するプロセス ダンプが格納されています) をダウンロードすることにより、アプリがクラッシュまたはハングした理由を確かめることができます。プロセス ダンプから、スタック トレースやエラーに関するその他の詳しい情報を入手できます。

.cab ファイルを処理し、スタック トレースを抽出するために必要な条件を次に示します。

  1. WinDbg.exe がお使いのコンピューターにインストールされていること。プロセス ダンプからスタック トレースを取り出すためのデバッグ ツールとして、WinDbg.exe をお勧めします。WinDbg.exe をまだインストールしていない場合は、ここから入手できます。

  2. アプリケーションのシンボル。プロセス ダンプからスタック トレースを取得するには、Windows ストアに登録されているアプリの現在のバージョンに対応するシンボルが必要です。

クラッシュとハングのスタック トレースの取得

これらの手順は、デバッガーのチュートリアルとして完全な手順を網羅しているわけではありませんが、これらの手順によって、アプリに関連するエラーのスタック トレースを取得することができます。

  1. アプリに関連する問題 (クラッシュまたはハング) のエラー名の横にある [ダウンロード] リンクをクリックします。ここでは、次のエラー名を仮定します。

    STATUS_INTEGER_DIVIDE_BY_ZERO_c0000094_FaultoidEx.Engine.dll!?
    __abi_FaultoidEx_Engine___IEngineServerPublicNonVirtuals____abi_DivideByZero
    
  2. .cab ファイルを任意の場所に保存します。

  3. WinDbg.exe を起動します。

  4. [File] (ファイル) メニューの [Open Crash Dump] (クラッシュ ダンプを開く) をクリックします。

    opencrashdump

  5. [Open Crash Dump] (クラッシュ ダンプを開く) ダイアログ ボックスで、ファイルを保存した場所を参照し、ファイルを開きます。

    opencrashdumpwindow

  6. [File] (ファイル) メニューの [Symbol File Path] (シンボル ファイルのパス) をクリックし、Windows ストアで入手できるバージョンに対応するシンボルのパスを入力します。[Reload] (再読み込み) チェック ボックスをオンにし、[OK] をクリックします。

    symbolfilepath

    (アプリのバイナリ以外のバイナリに対して) Microsoft から公式に入手できるシンボルを指定するには、次の形式でシンボルのパスを指定します。

    Srv*;<<your symbols path here>>
    

    シンボルのパスが c:\symbols の場合、上のガイダンスに従った場合の等価のパスは次のようになります。

    Srv*;c:\symbols
    
  7. コマンド ウィンドウのプロンプトで、次のように入力します。

    !analyze –v
    

    バイナリ ファイルに関するエラーや警告が存在する場合、アプリの適切なシンボルをデバッガーが見つけることができなかったことを示しています。シンボルが保存されている場所への正しいパスを調べ、手順 6. で説明したように追加する必要があります。

  8. 次に示すように、スタック トレースがコマンド ウィンドウに表示されます。

    stacktracewindow

    コール スタックから、エラーが FaultoidEx.Engine.dll の関数 DivideByZero の "ゼロによる除算" 例外であることがわかります。これは、手順 1. で説明したエラー名に対応します。これで、エラーを特定でき、どのように修正するかを判断できます。

JavaScript 例外について

JavaScript 例外発生率と最も一般的な JavaScript 例外は、JavaScript を使ったアプリにのみ適用されます。

javascriptexceptions

既定では、最初に JavaScript 例外に関して上位 5 つのエラーが示されます。[すべて表示] をクリックするとこの一覧が展開され、最大で 15 個のエラーが表示されます。 JavaScript 例外の一覧のエントリの例を次に示します。

WinRT error_8007007E_msappx://Contoso.ContosoApp8wekyb3d8bbwe/ContosoApp/program.js!scenario1Run

JavaScript 例外名は、次の要素に分類されます。

要素

ErrorTypeText

WinRT エラー

ErrorCode

8007007E

FileName_FunctionName

program.js!scenario1Run

 

JavaScript 例外のスタック トレースの取得

次の手順を実行して、エラーに関連付けられた JavaScript 例外の理由を確かめることができます。

  1. アプリに関連する JavaScript 例外名の横にある [ダウンロード] リンクをクリックします。

  2. .cab ファイルを任意の場所に保存します。

  3. .cab ファイルには、名前が ErrorInfo で始まるファイルが格納されています。このファイルを抽出して、任意の場所に保存します。

  4. メモ帳を使って、手順 3. で選んだ場所にある ErrorInfo ファイルを開きます。

  5. ErrorInfo ファイルには、エラーに関連付けられたスタック トレースが含まれています。次に例を示します。

    errorinfowindow

    この例では、定義されていない関数がエラーの原因となっています。エラーに至るまでのコール スタックは、ErrorInfo ファイルにも含まれています。

解説

分析レポート、グラフ、ダウンロード データに使われるすべての日付と時刻は UTC で表されます。

関連トピック

強化したバージョンのリリース
アプリからの製品利用統計情報の収集

 

 

表示:
© 2015 Microsoft