• # générer le core dump

    Posté par . En réponse au message comment trouver l'origine d'un segmentation fault ?. Évalué à 1.

    Bon, j'ai réussi à progresser un (tout) petit peu :-) Pour le coredump; il semble que certaines distributions désactive la génération de ce fichier.

    On peut vérifier que le coredump sera bien généré avec la commande
    $ ulimit -c
    Si le nombre donné vaut 0, aucun coredump ne sera généré. D'après ce que j'ai trouvé, une taille de 1000 devrait suffire :
    $ ulimit -c 1000

    Maintenant, je lance mon programme et l'exécute jusqu'à atteindre le plantage, et j'ouvre le coredump avec gdb :

    % gdb ./testwin core.wxyz
    GNU gdb 6.3-debian
    [...]
    Failed to read a valid object file image from memory.
    Core was generated by `./testwin'.
    Program terminated with signal 6, Aborted.
    Cannot access memory at address 0x40016e28
    #0 0x402567ab in ?? ()
    (gdb) quit

    Bon ben je ne suis pas tellement plus avancé :-) D'après la doc que j'ai trouvé, j'aurais du avoir la liste d'appel des fonctions juste avant le plantage.

    Y a-t-il quelque chose (d'évident sûrement) que j'ai raté ?

    Merci