Silur (debugger)

16.02.2007  |  Marek

Programmeerimise võiks defineerida kõige lihtsamal viisil mälu haldusena. Kirjutatakse, eemaldatakse, muudetakse mälus olevaid väärtusi. Tihtipeale on programmeerijal imelikud eeldused mälu suhtes ning programm ei tee seda, mida vaja. Selle probleemi lahendamiseks on mitmeid viise.

Meetod var_dump()

Tuntud funktsioon PHP-st, mille abil on küllaltki palju väärtusi mälust välja trükitud, et teada saada, kus viga asub. Java keskkonnas on samalaadseks heaks funktsiooniks System.out.print ja C#-s Console.WriteLine. Iseenesest küllaltki lihtne meetod vea uurimiseks, kuid seevastu väga aeganõudev – kirjutada kõik need laused, vaadata nende poolt toodud tulemusi, kustutada või kommenteerida välja need read.

Silur

Tunduvalt kiirem meetod, kuidas mälupilt kätte saada vastavate käskude juures, on siluri kasutamine. Selleks tuleb lisada katkestuspunkt (breakpoint) vastava rea juures, kus soovitakse hakata kontrollima programmi (funktsionaalsus on toodud Visual Studio põhjal, kuid enamik silureid peaksid sama funktsionaalsust pakkuma):

  1. liikuda samm haaval edasi (Step In, Step Out, Step Over),
  2. vaadata rakenduse mälupilti,
  3. jälgida mõne muutuja väärtusi,
  4. jälgida pinus toimuvat,
  5. jälgida lõime.

Küllaltki lihtsalt on võimalik suur hulk informatsiooni kätte saada.

Enamikes IDE-des on olemas silur ning ootab kasutamist, kuigi paljud inimesed millegi pärast kasutavad küllaltki innukalt esimest meetodit. Lisaks sellele on võimalik ka katkestuspunkte seadistada vastavalt vajadusele. Visual Studio’s on võimalik panna neile külge tingimusi või loenduri, et millal kontroll üle võetakse.

Visual Studio silur pakub kõike seda meeldivat ka veebirakenduste puhul.

IDE-d võivad pakkuda erinevat funktsionaalsust siluri osas, kuid korralikul on olemas kindlasti sammu haaval liikumine, katkestuspunktide lisamine/eemaldamine ning muutujate väärtuste jälgimine.

Silureid pakkuvad IDE-d

  • Java platvormil pakuvad silurit Eclipse, JCreator, NetBeans, JBuilder, JDeveloper…
  • C# platvormil pakuvad silurit Visual Studio, SharpDevelop, C#Builder…
  • PHP platvormil pakuvad silurit Zend Studio, PHP Edit…

Kommenteeri

sulge
Saada link e-postiga

© DT 2012 | Creative Commons Attribution-Noncommercial 3.0 License | WordPress