• [^] # Re: fonctions de la libc

    Posté par . En réponse à la dépêche Recherche des bogues et fuites de mémoire. Évalué à 7.

    c'est mtrace() et muntrace() a la fin

    ex:
    int
    main(void)
    {
    mtrace();
    do_the_rest_tm();
    muntrace();

    return 0;
    }

    ensuite on lance le programe:

    $ MALLOC_TRACE=log.mtrace ./mon_prog

    ca genere un fichier de log

    on le consulte avec:

    $ mtrace ./mon_prog log.mtrace


    Ca permet de voir où (la fonction) a été allouer la memoire qui n'a pas été libéré au moment de l'appel a muntrace().

    Le probleme c'est que si vous avez une fonction
    d'allocation (qui appelle malloc()) c'est toujours cette fonction qui sera indiqué par
    mtrace: ca montre pas quelle fonction
    a fait la demande d'allocation, mais la fonction
    qui a appelé malloc().

    Ca reste pratique quand meme, mais il faut savoir
    distingué les "fuites" provoqué par la libc elle meme.