WinRT - Windows Store - WinRT Originate Error - Wie entziffern, so einen Fehler?
Ich arbeite auf einer Windows Store-app und ich bin immer ein WinRT-Fehler, die nicht wirklich geben Sie mir alle Informationen, also ich würde gerne wissen, wie zu verstehen, diese Art von Fehler.
Grundsätzlich bekomme ich die Fehlermeldung in der folgenden Zeile die heißt inside OnPointerPressed:
m_gestureRecognizer->ProcessDownEvent(args->GetCurrentPoint(nullptr));
Der Fehler ist:
Erste-chance-Ausnahme bei 0x76F54B32 (KernelBase.dll) in DXAML2.exe: 0x40080201: WinRT originate error (Parameter: 0x80070057, 0x00000044, 0x03CEE72C).
Dieser Fehler nicht genutzt habe, um zu erscheinen, das einzige, was ich geändert habe ist, dass diese Linie wird nun eingewickelt in eine if-Klausel, die prüft, ob der aktuelle Zeiger ist PointerId ist das gleiche wie eine, die ich gespeichert habe einfach mit == wie:
if(args->GetCurrentPoint(nullptr)->PointerId == m_UIPointerID)
Ich habe keine Ahnung, warum das mal passiert.
Also meine Frage ist in zwei Teile gegliedert:
- Mehr allgemein, wie verstehe ich, was Fehler wie den oben bedeutet?
- Und kennt jemand diesen Fehler hat plötzlich begonnen, jetzt passiert dass ich die pointerId?
Vielen Dank für Ihre Zeit.
P. S. ich denke, eine andere Sache, die sich geändert hat, ist, dass es bereits 2 Zeiger auf dem Bildschirm (die, die gedrängt in diesem GestureRecognizer) so gut wie der andere, daher die PointerId überprüfen.
- Ich habe das gleiche problem. Diese wahnsinnig verworren Fehler, bedeutet absolut nichts. Was ist der Punkt für Sie, um einmal berichten/die Sie werfen, wenn es keine Möglichkeit gibt, herauszufinden, was falsch ist.
- Gibt es ein Windows-Fehler-code sichtbar, die in Ihrer Frage. 0 x 80070057 = E_INVALIDARG = Ein oder mehrere Argumente sind ungültig
Du musst angemeldet sein, um einen Kommentar abzugeben.
"Wie entschlüsselt man solche Fehler"...
Für jede WinRT originate error nehmen Sie die Dritte Adresse in der Parameter-Liste (in deinem Beispiel 0x03CEE72C), und finden Sie eine Beschreibung des Fehlers im Speicher-Fenster.
Beim Debuggen, zu brechen, wenn Sie Ihre Fehler geworfen wird, und öffnen Sie den memory-Fenster über die Debug -> Windows -> Speicher -> Memory 1
Kopieren und einfügen die Adresse, um Ihre "easy-to-find" - Fehlermeldung.
Wie Raman schon sagte - es ist gut, sich die hex-Werte angezeigt. Der erste ist der Speicher, die gewonnen ' T sagen Sie viel, ohne die Symbole/Quelle, die in diesem Fall berichtet wird direkt von Windows. Vielleicht ist die öffentliche Symbole können Schuppen etwas mehr Licht auf, wo der Fehler herkam, aber die Fehler-code-lookups sind mehr hilfreich.
Wenn Sie Bing für 0 x 80070057 finden Sie eine MSDN-Artikel auf Häufige HRESULT-Werte die Listen
E_INVALIDARG zurück : Ein oder mehrere Argumente sind ungültig : 0 x 80070057
Es nicht geben Ihnen alle details, die natürlich sind, so sind Sie aus zu theoretisieren. Vielleicht können Sie nur aufrufen
args->GetCurrentPoint(nullptr)
einmal und Sie sollten speichern/wiederverwenden-Wert? Vielleicht gesture recognizer ist nicht richtig konfiguriert? Vielleicht ist die app-Fenster nicht sichtbar ist an der Zeit, die die exception geworfen wird oder der thread ist falsch. Vielleicht einige erwarteten Aufrufe gestik-Erkennung verpasst wurden aufgrund der Filterung diejenigen, die sich mit diesen"if"
Aussagen.