Blog d'un EPSIen Epsylon

Informatique & co

Blog


25/07/2005 - 11:44 - Technologie - Aucun commentaire

C'est la faute à gcc :p

Fight Club
En effet, j'avais écris y a pas si longtemps que j'avais quelques problème sous BesOS pour évaluer le contenu de la mémoire et essayer de lever volontaire une exception du CPU en faisant une division par zero.
Pour la mémoire, problème résolue trés rapidemment aprés la recompilation de Bochs en ayant activer l'internal debugger et le hack par le port e9. Grace aux outils mis à disposition on peut suivre l'éxécution pas à pas et demander le contenu de la mémoire en donnant une adresse linéaire.
Un dump du CPU est également mis à disposition, et cerise sur le gateau, on peut même placer des breakpoints il semblerait ! Mais je n'en suis pas encore la =)
Grace à tous cela, j'ai pu voir ce que contenait la mémoire, et tout semble aller bien. Alors je me suis penché vers l'exception qui ne se lever pas (divison par zero), et bien c'est la faute à gcc !
En effet je compile les fichiers .c en mettant comme option -O2 comme niveau d'optimisation. Et bien gcc faisait trop bien son travail =( En compilant il me faisait surement sauter ma division par zero. J'ai donc compile sans cette option, et ça fonctionne niquel.
Je peux donc reprendre la gestion de la mémoire physique ou elle en était =)
Next very soon !