Symbolisen virheidenetsijän käytöstä

Matikkamies

Haluaisin tutkia, missä kohtaa Geditiä on eräs löytämäni ohjelmointivirhe. Olen lähettänyt avoimen lähdekoodin yhteisölle viestin asiasta, ja siellä sanottiin, että ohjelmointivirhe olisi nyttemmin korjattu. Kuitenkaan ohjelma ei toimi kunnolla, joten on kai itse käärittävä hihat ja korjattava ohjelmointivirhe itse. Ajattelin käyttää DDD:tä symbolisena virheidenetsijänä.

Kysymykseni kuuluukin, että miten lataan koneelleni sekä Geditin että GTK :n lähdekoodit ja kokoan niistä sellaisen paketin, että voin ajaa sitä symbolisella virheidenetsijällä ja näen kohdan, missä muisti alkaa vuotamaan?

3

581

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • dx2

      Onko googlesi rikki, kun ainakin itse löysin samantien:

      http://ftp.gnome.org/pub/gnome/sources/gedit/2.27/
      http://www.gtk.org/download.html

      Loppu lienee triviaalia, eli teet ihan samoin kuin muutenkin C projektien kääntämisessä ja debuggaamisessa.

      Mutta jos se kerran on korjattu, niin kannattaisiko vaan kääntää tuo uusin versio ja käyttää sitä? Samalla tietysti voi sorsasta katsella josko se virhe on siellä vielä tai jos sieltä löytyisi lokiteksti bugin korjauksesta.

      • Kääntäjä

        Olisikohan antaa aloittelijalle ohjeita, miten ohjelmien kehitysversiot saa käännettyä? Kokeilin kääntää tuota, mutta vaatii toisia paketteja, joita en saa asennettua.

        user@user-desktop:~/gedit-2.27.4$ ./configure --prefix=/opt/gtk --disable-spell

        ...
        checking for GEDIT... configure: error: Package requirements (
        libxml-2.0 >= 2.5.0
        glib-2.0 >= 2.18.0
        gthread-2.0 >= 2.13.0
        gio-2.0 >= 2.16.0
        gtk -2.0 >= 2.13.0
        gtksourceview-2.0 >= 2.4.0
        gconf-2.0 >= 1.1.11
        ) were not met:

        No package 'gtksourceview-2.0' found
        No package 'gconf-2.0' found

        Consider adjusting the PKG_CONFIG_PATH environment variable if you
        installed software in a non-standard prefix.

        Alternatively, you may set the environment variables GEDIT_CFLAGS
        and GEDIT_LIBS to avoid the need to call pkg-config.
        See the pkg-config man page for more details.

        user@user-desktop:~/gedit-2.27.4$ sudo apt-get install libxml-2.0
        Reading package lists... Done
        Building dependency tree
        Reading state information... Done
        E: Couldn't find package libxml-2.0


      • Matikkamies
        Kääntäjä kirjoitti:

        Olisikohan antaa aloittelijalle ohjeita, miten ohjelmien kehitysversiot saa käännettyä? Kokeilin kääntää tuota, mutta vaatii toisia paketteja, joita en saa asennettua.

        user@user-desktop:~/gedit-2.27.4$ ./configure --prefix=/opt/gtk --disable-spell

        ...
        checking for GEDIT... configure: error: Package requirements (
        libxml-2.0 >= 2.5.0
        glib-2.0 >= 2.18.0
        gthread-2.0 >= 2.13.0
        gio-2.0 >= 2.16.0
        gtk -2.0 >= 2.13.0
        gtksourceview-2.0 >= 2.4.0
        gconf-2.0 >= 1.1.11
        ) were not met:

        No package 'gtksourceview-2.0' found
        No package 'gconf-2.0' found

        Consider adjusting the PKG_CONFIG_PATH environment variable if you
        installed software in a non-standard prefix.

        Alternatively, you may set the environment variables GEDIT_CFLAGS
        and GEDIT_LIBS to avoid the need to call pkg-config.
        See the pkg-config man page for more details.

        user@user-desktop:~/gedit-2.27.4$ sudo apt-get install libxml-2.0
        Reading package lists... Done
        Building dependency tree
        Reading state information... Done
        E: Couldn't find package libxml-2.0

        Kirjoita konsoliin ddd gedit, niin johan toimii. Tosin en tiedä, miten näkisin vuotokohdan. Valikosta Program voi valita Run, mutta miten ohjelman lähdekoodin näkee DDD:ssä ja miten ohjelma ajetaan käsky kerrallaan?


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

    Luetuimmat keskustelut

    1. SDP haluaa LISÄÄ veroja bensa-autoille!

      Sdp:n vaihtoehtobudjetti esittää polttomoottoriautoille lisää veroja Sdp esittää tuoreessa vaihtoehtobudjetissaan verot
      Maailman menoa
      175
      17445
    2. Riikka se jytkytti BKT:stä nyt 0,3 prosenttia pois

      Ja vain kolmessa kuukaudessa! Vuositasollahan tuo tarkoittaa reilun prosentin pudotusta. Pärjäisi varmaan lasketteluss
      Maailman menoa
      46
      10027
    3. Vasemmistoaate on aatteista jaloin

      Kaikki saavat ja kukaan ei jää ilman. Kuka tuollaista voisi vastustaa?
      Maailman menoa
      54
      5897
    4. Antti Lindtman kiitti valtiovarainministeri Purraa

      Ministeri Purra kertoi ottavasa vastuun EU:n alijäämämenettelyyn joutumisesta. Hän myös sanoi tietävänsä, että Lindtman
      Perussuomalaiset
      46
      3200
    5. Suomalaisten enemmistö on (ateisteja / fiksuja / sosialisteja)

      Tai jokin noiden yhdistelmä, koska S-ryhmän markkinaosuus päivittäistavarakaupasta on yli 50 prosenttia.
      Maailman menoa
      17
      2895
    6. Brittiläinen vasemmistolehti: Sanna Marin oli vihdoin rehellinen

      Nyt tulee pahasti lunta tupaan Seiskan tähtitytölle. Ex-pääministerin kirjaa arvostellaan latteuksista ja itsekehusta.
      Maailman menoa
      25
      2812
    7. "Purra löylytti oppositiota", sanoi naistoimittaja Pöllöraadissa

      Kyllä, Purra tekee juuri sitä työtä mitä hänen tuossa asemassa pitää tehdä, hän antaa oppositiolle takaisin samalla mita
      Maailman menoa
      56
      2682
    8. Henkilökohtaisia paljastuksia Dubaista - Kohujulkkis Sofia Belorf on äitipuoli ja puoliso!

      Tiesitkö, että Sofia on äitipuoli ja rakastava puoliso? Sofia Belorf saa oman sarjan, jossa seurataan hänen Bling Bling
      Kotimaiset julkkisjuorut
      86
      2608
    9. Kenen luo menisit nyt

      jos se olisi mahdollista?
      Ikävä
      138
      1880
    10. Alexander C. G. riisti demari-Veijolta arvonimen

      "Stubb myönsi 66 arvonimeä ja peruutti yhden arvonimen. Presidentti Tarja Halonen myönsi Baltzarille kulttuurineuvoksen
      Maailman menoa
      42
      1866
    Aihe