0 votes

Signification des chiffres hexadécimaux dans la boîte de dialogue d'erreur de Windows

De temps en temps (ahem...), mon code se bloque sur un système ; assez souvent, mes utilisateurs envoient des captures d'écran des boîtes de dialogue de blocage de Windows. Par exemple, j'ai récemment reçu ceci :

Unhandled win32 exception @ 0x3a009598 in launcher2g.exe:
0xC00000005: Access violation writing location 0x00000000.

Il est clair pour moi (en raison du code 0xc0000005 ainsi que du message d'erreur écrit) que je suis un pointeur nul quelque part dans mon processus launcher2g.exe. Ce qui n'est pas clair pour moi, c'est la signification du nombre '0x3a009598'. S'agit-il de l'offset du code dans l'espace d'adressage du processus où l'instruction assembleur est stockée et qui a déclenché le problème ?

En supposant que 0x3a000000 est la position où le module launcher2g.exe a été chargé dans le processus, j'ai utilisé le débogueur de Visual Studio pour vérifier le code assembleur à 0x3a009598 mais malheureusement c'était juste beaucoup d'instructions 'int 3' (c'était une construction de débogage, donc il y a beaucoup de remplissage int 3).

Je me suis toujours demandé comment tirer le meilleur parti de ces nombres @ 0x12345678. Ce serait formidable si quelqu'un ici pouvait m'éclairer sur ce sujet, ou partager des pointeurs vers des explications complémentaires.

UPDATE : Au cas où quelqu'un se poserait cette question à l'avenir, voici une lecture très intéressante que j'ai trouvée et qui explique comment donner un sens à des messages d'erreur comme celui que j'ai cité ci-dessus : Recherche d'informations sur les accidents à l'aide du fichier MAP .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X