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

290

    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. Mitä siellä ABC on tapahtunut

      Tavallista isompi operaatio näkyy olevan kyseessä.
      Alajärvi
      189
      7826
    2. Klaukkalan onnettomuus 4.4

      Klaukkalassa oli tänään se kolmen nuoren naisen onnettomuus, onko kellään mitään tietoa mitä kävi tai ketä onnettomuudes
      Nurmijärvi
      94
      4041
    3. Kuvaile elämäsi naista

      Millainen hän on? Mikä tekee hänestä sinulle erityisen?
      Ikävä
      68
      2652
    4. Kolari Klaukkala

      Kaksi teinityttö kuoli. Vastaantulijoille ei käynyt mitenkään. Mikä auto ja malli telineillä oli entä se toinen auto? Se
      Nurmijärvi
      74
      1692
    5. Ukraina ja Zelenskyn ylläpitämä sota tuhoaa Euroopan, ei Venäjä

      Mutta tätä ei YLE eikä Helsingin Sanomat kerto.
      Maailman menoa
      393
      1616
    6. Kuvaile elämäsi miestä

      Millainen hän on? Mikä tekee hänestä sinulle erityisen?
      Ikävä
      64
      1508
    7. Ooo! Kaija Koo saa kesämökille öky-rempan:jättimäinen terde, poreallas... Katso ennen-jälkeen kuvat!

      Wow, nyt on Kaija Koon mökkipihalla kyllä iso muutos! Miltä näyttää, haluaisitko omalle mökillesi vaikkapa samanlaisen l
      Kesämökki
      20
      1476
    8. Toivoisin, että lähentyisit kanssani

      Tänään koin, että välillämme oli enemmän. Kummatkin katsoivat pidempään kuin tavallisesti toista silmiin. En tiedä mistä
      Ikävä
      17
      1141
    9. Kevyt on olo

      Tiedättekö, että olo kevenee kummasti, kun päästää turhista asioista tai ihmisistä irti! Tämä on hyvä näin <3
      Ikävä
      84
      1068
    10. Olisinpa jo siellä, otatkohan minut vastaan

      Olisitpa lähelläni ja antaisit minun maalata sinulle kuvaa siitä kaikesta ikävästä, tuskasta, epävarmuudesta ja mieleni
      Ikävä
      79
      1060
    Aihe