Valgrind-kokeilu

C-koodari

Kokeilin ensikerran Valgrindia.

Ajoin sillä tekemääni GTK -sovellusta. Käytän sovelluksessa Cairo-API:a ja sovellus pitää muistissa jatkuvasti muutamaa pixmappia.
Sovellus on myös yhteydessä tietokantaan (datatiedosto), josta tarvittaessa luetaan väliaikaisesti muistiin tarvittava tieto, parhaassa tapauksessa kokonaan. Muistinvaraus tapahtuu dynaamisesti ja vapautetaan heti kun tarvittava tieto on analysoitu ja käyttäjälle näkyvä tieto piirretty näytölle.
Eli sovelluksen muistinvaraus varioi paljon.

Anyway, lopettaessani sovelluksen ajon saan seuraavan tulosteen terminaaliin:

==1680== HEAP SUMMARY:
==1680== in use at exit: 1,154,151 bytes in 12,102 blocks
==1680== total heap usage: 82,708 allocs, 70,606 frees, 10,083,310 bytes allocated
==1680==
==1680== LEAK SUMMARY:
==1680== definitely lost: 4,648 bytes in 123 blocks
==1680== indirectly lost: 15,880 bytes in 791 blocks
==1680== possibly lost: 806,581 bytes in 6,441 blocks
==1680== still reachable: 327,042 bytes in 4,747 blocks
==1680== suppressed: 0 bytes in 0 blocks
==1680== Rerun with --leak-check=full to see details of leaked memory
==1680==
==1680== For counts of detected and suppressed errors, rerun with: -v
==1680== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 166 from 13)

Onko jotain PAHASTI vialla, osaatteko analysoida =)?

Voiko valgrindilla paikallistaa virheet, vuodot etc.?
Onko muita käyttökelpoisia työkaluja?
Valgrindia käytetään suoritettavaan sovellukseen... onko debuggereita, joilla voisi analysoida lähdekodia ja havaita muistinhallinnan puutteellista koodausta?

Kiitos etukäteen

1

213

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Debuggaaja

      Enemmän infoa vuodoista saat ajamalla Valgrindiä komennolla

      valgrind --tool=memcheck --leak-check=full ohjelma

      En ole muuten tutustunut debuggaukseen. Kuulemma GDB:lvoi debugata ohjelmia.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Maksetaanko Vornaselle palkkaa 2 viikon sairaslomasta

      Eli torstain kännistä 2 viikon palkallinen sairasloma? Saako muut duunarit myös rännätä 2 viikkoa työnantajan laskuun?
      Perussuomalaiset
      336
      3173
    2. Miksi tunnet vetoa..

      Miksi tunnet vetoa juuri häntä kohtaan? Mikä sen saa aikaan?
      Ikävä
      110
      2325
    3. Mitä te palstan ihanat naiset

      Ajattelette hyvin viisaista miehistä, jotka ovat koko ajan jotenkin oudosti väärässä? Vaikka älykkyysosamääräsi olisi 21
      Sinkut
      89
      1705
    4. Tapaus Vornanen

      Se oli torstai-ilta ja kansanedustaja Vornanen oli juhlimassa seurueensa kanssa pitkän edustusviikon jälkeen. Baarissa o
      Maailman menoa
      201
      1662
    5. Nainen, kohtelin sua kuin paskaa

      Ja silti odotin että annat kaiken anteeksi. Yllätyin kun niin ei käynytkään. Olethan kaikin puolin alle mun tason ja sun
      Ikävä
      71
      1456
    6. Nainen, seuraan sun uutta elämää

      Hieman naurattaa tuo sun uusi rooli 🤭. Kun et sovi siihen mitenkään. Mutta pakkohan sulla jokin paikka olla missä hämme
      Ikävä
      57
      1323
    7. Voi hitto Rinsessa säikähdin

      Että olitkin silloin joku huijari. Huh, sano ettet ole.
      Ikävä
      13
      1116
    8. Olet kaikki mitä ikinä tahdonkaan

      Voi sinä ihana Jarno olet just se ihminen keneen menin täysin ihastumaan. Kuin salama kirkkaalta taivaalta meidän koht
      Suhteet
      22
      1107
    9. Ilona Siekkinen

      Onko Ilona Siekkinen todellinen henkilö vai tekoälyllä luotu henkilö? Koostettu monesta eri kuvasta ja liitetty yhteen m
      Yhteiskunta
      3
      1083
    10. Vapunviettoon

      Ohjeita palstanaisille: piIIua ei jaella.
      Sinkut
      164
      998
    Aihe