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
Laita breakpoint ja käytä sen jälkeen debuggerin step-toimintoa.
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.
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.
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.
oletko opetellut (s)trace:a käytämään?
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.
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.
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/
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?
Aihe on jo aika vanha, joten et voi enää vastata siihen.