2014/04/12 - リジェクト対応のやり方

MSから回答。なんか障害だったらしくて今は大丈夫とのこと。見てみると,アプリケーションクラッシュのようだ。レポートには,いくつかの情報ファイルが含まれていて,一番重要なのがdmpファイル。このファイルをVisual StudioかDebugging Tools for Windowsで開いて,クラッシュの原因を調べる。今までのWindowsアプリだと,アプリケーションのpdbがあればどこで落ちたかがすぐに分かったのだが,winrtではなかなか難しい。言語レイヤーがいくつかあって,async/awaitでスレッド実行シーケンスが複雑になり,何重にも例外がラッピングされている。

普通に解析するのはかなり大変なので,Defrag ToolsのOneDriveで配っているPDEというツールを使うと,「!pde.dse」コマンド一発でコアな部分のスタックトレースまで表示してくれる。で,今回の場合,それでもユーザコードのココ,っていうのは出てこなくて,winrtの中で落ちてたりするので100%これが原因ってのは分からない。

とりあえず何かのボタンを押し終わったときに落ちていたのが分かったので,全てのボタンの動作をテストした。結果,ボタンの二重押しとかロード中にボタンを押したりしたときに落ちることが分かったので対策した。

コメントする