locked
[Smartphone] Aidez moi : unhandled exception : 0xC0000005 sur CDialog.doModal RRS feed

  • Question

  • Bonjour,
    Je suis en train de développer une application pour windows mobile 5.0 en utilisant le langage c++ avec les MFC. Lors de l'exécution de mon programme j'obtiens l'erreur suivante au moment ou j'appelle la fonction doModal d'un objet CDialog :

    Unhandled exception at 0x03d9080c in DialBoxBased.exe: 0xC0000005: Acces violation when reading location : 0x03d9080c.


    Ce qui est étonnant c'est que cette erreur est uniquement générée lorsque je lance l'application sur le device (HTC s620) mais pas lorsque je lance l'application sur l'émulateur. De plus cette erreur n'est présente que lorsque je compile en mode Debug mais pas en mode Release.

    Quelq'un connait il la source du problème?

    Merci d'avance
    mercredi 22 octobre 2008 12:31

Réponses

  • Bonjour,

     

    0x03D9080C c'est une adresse dans la partie haute du slot no 1, cela correspond a la zone où sont chargées les DLL. Access violation signifie que le système n'a pas pu allouer de page de RAM pour couvrir cette adresse, cela veut souvent dire que la RAM de l'appareil est saturée, ou bien qu'il n'y a plus d'espace pour charger une nouvelle DLL.

     

    La différence entre le HTC et l'émulateur correspond certainement à un mapping différent au niveau des DLL système (en particulier celles qui sont ROMées sur le HTC). Le fait que cela se passe en mode Debug correspond bien au fait que les DLL Debug sont plus grosses (elles contiennent les symboles).

     

    Il semblerait que le HTC n'ait pas assez de RAM (ou trop de DLL ROMées) pour supporter le Debug.

     

    Cordialement,

    Thierry Joubert - THEORIS

    jeudi 23 octobre 2008 20:52