Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Avoimen lähdekoodin projektit

Jaska [31.03.2009 18:18:26]

#

Tulipa mieleen, että miten vaikeaa on liittyä avoimen lähdekoodin projekteihin. Haluaisin ihan hupimielessä tutustua koneeni koodiin ja ajaa sitä debuggerilla. Sitä varten minun pitäisi ilmeisesti ladata netistä lähdekoodit, katsoa mitä kirjastoja ne kutsuvat, ladata toisesta paikkaa koodit jne. Vai onko olemassa suorempaa tapaa?

Jos kuitenkin onnistun löytämään kaikki tietyn projektin koodit, niin miten koodia voi debugata? Koneellani on KDevelop ja ilmeisesti päästäkseen debuggaamaan koodia täytyy avata uusi projekti ja liittää kaikki sadat tiedostot mukaan. Onko helpompaa tapaa?

nomic [31.03.2009 19:20:25]

#

Koneesi koodi? Meinaatko käyttöjärjestelmää vai mitäs?

Grez [31.03.2009 19:25:02]

#

Avoimen lähdekoodin projekteihin ei tarvitse liittyä saadakseen lähdekoodin. Avoimen lähdekoodin ohjelmat ovat sellaisia, joissa lähdekoodi on vapaasti saatavilla (eli avointa).

Jaska [31.03.2009 19:38:33]

#

Kirjoitinpa huolimattomasti. Tarkoitin siis, että kun Ubuntussani on avoimen lähdekoodin ohjelmia, niin niihin on tietysti lähdekoodit saatavilla ja useimmista on tuoreempia netissä. Olen asentanut nämä ohjelmat apt-getillä. Mutta miten pääsen näkemään, että jos vaikka avaan Firefoxin, niin mitä arvoja muuttujiin viedään missäkin vaiheessa? Eräs ohjelma nimittäin käyttäytyy toisinaan kummallisesti ja olisi kiva tietää, missä kohti asiat menee päin mäntyä.

Grez [31.03.2009 19:50:43]

#

No käytännössä lataat ne lähdekoodit ja käännät sen softan debug-asetuksella. Tällöin sinulla on varmasti saman version lähdekoodit ja binääri ja kääntäjä laittaa sinne binääriin mahdollisesti debuggerin tarvitsemaa informaatiota mukaan. Sitten vaan ajat ohjelmaa debuggerin kanssa. Jos haluat tietää mitä muuttujien sisältö jossakin kohdassa koodia on, niin laitat siihen breaklinen.

Metabolix [31.03.2009 22:02:24]

#

Olet varmasti itse joskus ohjelmoinut jotain. :) Avoimen lähdekoodin ohjelmat eivät ole sen kummempia: tarvitset lähdekoodin ja kirjastot. Kirjastoista et tarvitse välttämättä lähdekoodia (paitsi tietenkin jos haluat tutkia sitä kirjastoa etkä itse ohjelmaa), vaan kehitysotsikot riittävät. Käytännössä tämä tarkoittaa Ubuntussa -dev-päätteisten pakettien asentamista apt-getilla (glpng => libglpng-dev jne., joskus joutuu hieman soveltamaan). Lähes kaikki tarvitsemasi kirjastot löytyvät luultavasti tällä tavalla, jos et kovin eksoottista ohjelmaa aio tutkia.

Asiat, joissa vapaan lähdekoodin projektit eroavat aivan itse tehdyistä koodeista, ovat yleensä laajuus (esimerkiksi Wine on melkoinen), tuttuus ja usein myös ohjelmoinnin ja koodinkirjoituksen tyyli. Jos melko yksinkertaisen virhekohdan kaivaminen omastakin ohjelmasta voi viedä yli puoli tuntia, voit arvata, millaista on etsiä vastaava virhe lukuisten muiden kirjoittamasta ohjelmasta.

Blaze [31.03.2009 23:42:57]

#

Eikös debuggisymboleilla varustettuja versioita saa ihan paketinhallinnasta? Ainakin openSUSEssa on jotain debug-repoja, ja Gentoossa tietty debug-useflagi. Asenna haluamas softa sellaisesta ja ajele sitä gdb:ssä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta