検索チャームから呼び出されたアプリケーションがなんらかのエラーで終了してしまう場合などは、
VisualStudioからデバッグ起動してはバグが再現できません。
アプリが起動状態で検索された場合と、起動していない状態から検索チャームを用いた場合とではアプリケーションの挙動が異なるからです。
参照:Windowsストアアプリ入門 vol63.検索コントラクトから起動した場合の初期化処理
この場合、起動したアプリケーションに対してVisualStudioから接続する必要があります。
その場合「プロセスへのアタッチ」を行います。
まずはアタッチされる側のアプリケーションにアタッチされていることを確認するための目印を置いておきます。
トップページのLoadStateメソッドに以下のような出力を仕込みます。
/// <summary> /// このページには、移動中に渡されるコンテンツを設定します。前のセッションからページを /// 再作成する場合は、保存状態も指定されます。 /// </summary> /// <param name="navigationParameter">このページが最初に要求されたときに /// <see cref="Frame.Navigate(Type, Object)"/> に渡されたパラメーター値。 /// </param> /// <param name="pageState">前のセッションでこのページによって保存された状態の /// ディクショナリ。ページに初めてアクセスするとき、状態は null になります。</param> protected override async void LoadState(Object navigationParameter, Dictionary<String, Object> pageState) { System.Diagnostics.Debug.WriteLine("hoge");
アプリケーションを一度デバッグ実行しておきます。
アプリを終了した状態にして検索チャームから起動します。
検索チャームからアプリケーションが起動されたら、VisualStudioから「デバッグ」→「プロセスにアタッチ」を選びます。
接続したいアプリケーションを選んでアタッチをクリックします。
その状態でアプリをトップページに移動させると以下の画像のようにhogeという出力を得ることができました。
Please give us your valuable comment