Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Kuinka seurata koodin etenemistä?

Sivun loppuun

optimoija [08.02.2014 23:57:48]

#

Hei,

Puhutaan projektista, jossa on hirveä määrä rivejä ja filuja. Mikä on helpoin tapa seurata koodin ajon etenemistä, kun pompitaan tiedostosta toiseen? Linux ympäristössä voi yrittää find:lla ja grepillä kalastella funktiomäärittelyjä ja Eclipsessä on tuo indeksointi ominaisuus, sekä mahdollisuus yrittää pistää breakpointteja, jos on mututuntumaa siitä mihin ollaan menossa. Lähinnä minua kiinnostaisi tuosta breakpointista seuraavan rivin suoritus. Onko olemassa muita helpompia tapoja? Aikamoista tuskaa aina kalastella, missä tiedostossa ja millä rivillä ollaan menossa.

terveisin, optimoija

Metabolix [09.02.2014 00:00:44]

#

Laita breakpoint ja käytä sen jälkeen debuggerin step-toimintoa.

optimoija [09.02.2014 00:22:22]

#

Ok, täytyypä kokeilla. Eclipse on mainio kehitys-ympäristö, kun kaikki sourcet on suoraan saatavilla projektin alla. Ongelmia tulee välillä myös tilanteissa, jossa käytetään Linuxin dynaamisia järjestelmäkirjastoja (asennettu pakettien hallinnasta). En ole vielä keksinyt tapaa, kuinka nuo saataisiin importattua Eclipse-projektiin. Esim. käsillä nyt pakettien hallinnasta asennettu OpenCV-kirjasto.

Metabolix [09.02.2014 00:25:39]

#

Onko jokin erityinen tarve katsoa kirjastojen sisään? Yleensähän riittää, että näkee omassa koodissa olevat kutsut, tai jos on tarkoitus kehittää kirjastoa, pitää kuitenkin ladata sen lähdekoodi ja kääntää se itse.

optimoija [09.02.2014 00:38:13]

#

Tarkoituksena syventyä valmiiseen kirjastoon, mutta tutusmista helpottaa, kun voi seurata koodin etenemistä. Latasin pakettien hallinnasta OpenCV-paketin, jossa tuli mukana muutamia sample-filuja. Nuo sai helposti kääntymään, kun lisäsi Makefileen `pkg-config opencv --libs --cflags` flagin. Taisin lähteä väärällä tavalla liikkeelle. Helpompi varmaan imaista suoraan nuo kaikki sourcet gitillä ja lähteä siitä tutkimaan.

tepokas [09.02.2014 17:19:06]

#

oletko opetellut (s)trace:a käytämään?

optimoija [09.02.2014 18:06:01]

#

En ole.. Jos tuo on jokin komentorivityökalu, niin olisin kovastikkin kiinnostunut siitä. Tuo Eclipse on jossain tilanteissa hieman kökkö. Varsinkin kun kysymyksessä on isoja projekteja, niin välillä tuntuu, että se tahmaa aikas lailla. Esim. tuo indeksointikin on välillä älyttömän raskas operaatio.

Metabolix [09.02.2014 18:48:21]

#

optimoija kirjoitti:

Tarkoituksena syventyä valmiiseen kirjastoon, mutta tutusmista helpottaa, kun voi seurata koodin etenemistä.

Jos tarkoitat, että haluat vain opetella käyttämään kirjastoa, luultavasti ei ole hyötyä katsoa kirjaston toteutusta.

optimoija [09.02.2014 19:14:45]

#

Metabolix kirjoitti:

optimoija kirjoitti:

Tarkoituksena syventyä valmiiseen kirjastoon, mutta tutusmista helpottaa, kun voi seurata koodin etenemistä.

Jos tarkoitat, että haluat vain opetella käyttämään kirjastoa, luultavasti ei ole hyötyä katsoa kirjaston toteutusta.

opencv_source_code/samples/cpp/bagofwords_classification.cpp <- Tätä haluaisin syynätä hieman tarkemmin. Tunnen menetelmän teoreettisella tasolla, joten olisin kiinnostunut tietämään tarkemmin, kuinka menetelmä koodataan. Minulle olisi hyvää treeniä yrittää perehtyä suuriin ohjelmistoprojekteihin tulevaisuutta ajatellen. Tulevaisuudessa varmasti tulee vastaan tilanteita, joissa joudun kaivamaan neulaa heinäsuovasta.

optimoija [11.02.2014 00:52:23]

#

tepokas kirjoitti:

oletko opetellut (s)trace:a käytämään?

Onko hyviä tutoriaaleja stracea varten? Jos minua esimerkiksi kiinnostaisi tietää, mitä järjestelmäkutsuja suoritetaan, kun ollaan menossa rivillä X koodissa?


Sivun alkuun

Vastaus

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

Tietoa sivustosta