Les exceptions WinRT : comment savoir à quoi correspondent les codes d’erreur #Windows
Qui n’a jamais eu une exception levée par une API WinRT avec un code d’erreur hexadécimal incompréhensible dont même Google ne connaît pas la signification ? Cet article vous expliquera les manipulations à faire pour en découvrir quand même la signification !
Je parle de ces fenêtre d’erreur avec ce type de message “Exception thrown at 0x77694598 (KernelBase.dll) in MonAppli.Windows.exe: 0x40080201: WinRT originate error (parameters: 0x80072F19, 0x00000067, 0x0519EE60).” J’ai cherché chacun des codes hxadécimals présents sans aucun résultat… c’est pour dire !
Pour connaitre la signification de ce message d’erreur il faut faire ces manipulations :
- Activez le debugger natif (les APIs WinRT sont en C++) : l’option est dans la fenêtre de propriété du projet, onglet “Debug”.
- Lancez le debug et produisez l’exception.
- Copiez-collez le 3ème paramètre (0x0519EE60 ici).
- Cliquez sur “Break”.
- Ouvrir la fenêtre “Memory 1” présente dans Debug > Windows >Memory > Memory 1 ou en utilisant la recherche dans VS (Ctrl + Q). Cette fenêtre n’est disponible qu’en Debug.
- Collez la valeur précédemment copiée dans la zone “Adress” et tapez sur Entrée.
- Le texte correspondant à l’erreur est alors présent à droite !
Voilà pour cette petite astuce qui vous fera sans doute gagner du temps !

Commentaires