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 !

Excception

 

Pour connaitre la signification de ce message d’erreur il faut faire ces manipulations :

  1. Activez le debugger natif (les APIs WinRT sont en C++) : l’option est dans la fenêtre de propriété du projet, onglet “Debug”.
  2. Lancez le debug et produisez l’exception.
  3. Copiez-collez le 3ème paramètre (0x0519EE60 ici).
  4. Cliquez sur “Break”.
  5. 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.
  6. Collez la valeur précédemment copiée dans la zone “Adress” et tapez sur Entrée.
  7. Le texte correspondant à l’erreur est alors présent à droite !

 

exception2

 

Voilà pour cette petite astuce qui vous fera sans doute gagner du temps !

Photo de profil

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus