10

私はWindowsストアアプリで作業していますが、これらの種類のエラーを理解する方法を知りたいので、本当に私に情報を与えてくれないWinRTエラーが発生しています。WinRT - Windowsストア - WinRT起点エラー - このようなエラーをどのように解読しますか?

は基本的に私はOnPointerPressed内部で呼び出され、次の行にエラーが表示されます。

m_gestureRecognizer->ProcessDownEvent(args->GetCurrentPoint(nullptr)); 

エラーは次のとおりです。DXAML2で0x76F54B32(KernelBase.dll)で

初回例外。 exe:0x40080201:WinRTがエラーを発生させました(パラメータ:0x80070057、0x00000044、0x03CEE72C)。

このエラーが表示されるように使用されていなかった、私が変更しただけのものは、この行は現在のポインタのPointerId私はちょうど保存したものと同じであるかどうかをテストif節に包まれているということです==を使用して==を使用して:

if(args->GetCurrentPoint(nullptr)->PointerId == m_UIPointerID) 

これはなぜ起きたのかわかりません。

だから私の質問は2つの部分である:より一般的に

  1. 、どのように私は何のエラー、上記の手段として理解していますか?
  2. そして、誰もこのエラーが突然私がpointerIdをチェックするようになったことを知っていますか?

お時間をいただきありがとうございます。

P.S.私は変更されたもう一つのことは、画面に2つのポインタ(このGestureRecognizerにプッシュされるポインタ)とPointerIdチェックが既に存在するということです。

+1

私は同じ問題があります。これらの狂った複雑なエラーは絶対に何も意味しません。何が間違っているかを知る方法がない場合は、報告/投棄するためのポイントは何でしょうか。 – Pavel

+1

質問にWindowsのエラーコードが表示されています。 0x80070057 = E_INVALIDARG = 1つまたは複数の引数が無効です –

答えて

1

ラマンは言ったように、表示された16進値を調べるとよいでしょう。最初のものは、シンボル/ソースなしではあまり知らせないメモリの場所です。この場合、Windowsによって直接報告されます。おそらくパブリックシンボルはエラーがどこから来たのかについてより多くの光を当てることができますが、エラーコードの参照がより役立ちます。それはあなたのコースのすべての詳細を与えるものではありません0x80070057が

ので、あなた:

あなたは

E_INVALIDARGを示していますCommon HRESULT Values上のMSDNの記事を見つけるBing for 0x80070057あなたがいる場合:1つの以上の引数が有効ではありません理論化するために再出発。おそらくargs->GetCurrentPoint(nullptr)に一度しか電話することができず、その値を保存/再使用する必要がありますか?おそらくジェスチャー認識機能が正しく設定されていないのでしょうか?例外がスローされたときやスレッドが間違っているときに、アプリケーションウィンドウが表示されないことがあります。たぶん、ジェスチャー認識装置への期待された呼び出しが、これらの"if"ステートメントを使ってフィルターをかけることによって見逃されたのかもしれません。任意のWinRTのために

「このようなエラーを解読する方法」
11

...

はエラーを発信するには、パラメータリスト(あなたの例では、0x03CEE72C)における第3のアドレスを取り、あなたのエラーの説明を見つけることができますメモリウィンドウに表示されます。

デバッグ中、デバッグを経由してあなたのエラーがスローされたときに分解し、メモリウィンドウを開く - >ウィンドウ - >メモリ - >メモリ1

コピーして、「簡単に見つける」エラーを取得するためにアドレスを貼り付けメッセージ。

+0

Visual Studio 2015のメモリオプションはありません – Denny

関連する問題