Bugin etsiminen

Käytän Linuxissani GKT :aa, jossa on eräs bugi, jokä häiritsee ohjelmassani. Ongelma on tunnettu ja sitä ei ole korjattu yli vuoteen. Mitenkä ongelmakohtaa kannattaisi lähteä selvittämään? Ilmeisesti lähdekoodi pitäisi imuroida jostakin samoin kuin toimiva symbolinen virheidenjäljitin (vai mikä onkaan debugger suomeksi?). Kuitenkin virhe ilmenee geditissä, joka käyttää GTK :n lähdekoodia. En ole ennen symbolista virheidenjäljitintä käyttänyt, joten miten päästä asiassa alkuun? En tiedä yhtään, missä lähdekooditiedostossa virhe sijaitsee.
2254
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

Nooh eka kannattaa surffata osoitteeseen:
http://www.gtk.org/ ja tarkistaa että bugia ei ole korjattu kehitysversiossa. Samasta osoitteesta löytyy subversioni josta saa lähdekoodit.

No pakettien hallinnasta löytyy KDevelop.

No sitten kaikki Debug määritteet päälle ja kääntämään kirjastoa. Kun kääntäminen on onnistunut niin luodaan pieni testi pätkä joka demoaa bugia.

Sitten kannattaa pistää keskeytyspiste (breakpoint) johonkin sopivaan kohtaan (eli alkuun) ja ruveta askeltamaan koodissa eteenpäin. Tässä vaiheessa rupee näkemään mitenkä homma toimii.

Toistetaan kunnes ymmärretään tarpeeksi ja löydetään bugi. Fixsataan, tehdään patchi ja lähetetään eteenpäin ja ollaan onnellisia.

Aikaa kuluu muutamasta tunnista pariin kuukauteen.

Äänestä
  • Tiedän, että bugien etsiminen on työläistä. Asensin nyt KDevelopin ja hain GTK :n sekä Geditin lähdekoodit kovalevylle. Miten saan KDevelopissa käännettyä Geditin lähdekoodeista? Pitääkö luoda uusi projekti ja laittaa kaikki tiedostot Geditistä ja GTK :sta yksi kerrallaan mukaan projektiin? Näyttäisi olevan satoja tiedostoja.

    Äänestä

Kommentoi aloitusta


koodirotta kirjoitti:

Käytän Linuxissani GKT :aa, jossa on eräs bugi, jokä häiritsee ohjelmassani. Ongelma on tunnettu ja sitä ei ole korjattu yli vuoteen. Mitenkä ongelmakohtaa kannattaisi lähteä selvittämään? Ilmeisesti lähdekoodi pitäisi imuroida jostakin samoin kuin toimiva symbolinen virheidenjäljitin (vai mikä onkaan debugger suomeksi?). Kuitenkin virhe ilmenee geditissä, joka käyttää GTK :n lähdekoodia. En ole ennen symbolista virheidenjäljitintä käyttänyt, joten miten päästä asiassa alkuun? En tiedä yhtään, missä lähdekooditiedostossa virhe sijaitsee.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu