01 01 Eclipse (Uvod)

Télécharger au format pptx, pdf ou txt
Télécharger au format pptx, pdf ou txt
Vous êtes sur la page 1sur 46

Uvod u razvoj softvera

O predmetu
Sadraj
Uvod
Instalacija
Workbench
Navigacija
Pokretanje
Debagovanje
Udaljeno debagovanje - remote debugging

2
ta je Eclipse
Integrisano okruenje za razvoj softvera (IDE) sa
podrkom za razliite programske jezike.
Platforma - Rich Client Platform (RCP).
Za programski jezik Java.

3
ta je Eclipse
Razvoj zapoeo IBM. Od 2001 se razvija kao slobodna
platforma otvorenog koda.
Preko 200 projekata.
Eclipse fondacija - neprofitna organizacija koja
rukovodi razvojem.

4
Eclipse Public License
Licenca slobodnog softvera otvorenog koda.
Kod objavljen pod EPL licencom moe se koristiti i u
komercijalne svrhe.
Da bi kod bio objavljen pod EPL licencom mora biti
osloboen od IP (Intelectual Property) prava.
Sve ovo ini EPL kod atraktivnim za korienje pri
razvoju komercijalnog softvera.

5
Instalacija Eclipse
Potrebno je instalirati Javu (tanije JDK - Java Development
Kit).
Sa sajta www.eclipse.org, iz download sekcije preuzeti
eclipse instalaciju.
Eclipse je proiriva platforma koja se moe krojiti po elji
putem komponenti koje se u Eclipse terminologiji nazivaju
prikljucima (plugins). Zbog toga je mogue preuzeti
razliite vrste distribucija.
Za razvoj python aplikacija ne postoji posebna distribucija
tako da se moe preuzeti distribucija za Java programere i
zatim se nadograditi sa PyDev prikljukom za razvoj
python programa.
Eclipse distribucija je zip fajl koji je potrebno raspakovati
ime je instalacija zavrena
Raspakovati arhivu u folder koji nema praznim mesta (space) u
nazivu i koji je na lokalnom disku

6
Pokrenuti fajl eclipse.exe
(Windows) ili eclipse (Linux).
Pokretanje Prilikom pokretanja eclipse
Linux folder layout ce traiti od korisnika da
definie putanju do radnog
prostora (Workspace).

Win folder layout

7
Radni prostor - Workspace

Folder na disku gde eclipse uva meta-podatke o


projektima (putanje, podeavanja i sl.) kao i
podeavanja okruenja.
Iako se podrazumevano i sami projekti uvaju u
radnom prostoru oni fiziki ne moraju biti u njemu
smeteni.
Za isti eclipse moe biti definisano vie workspace-
ova.
Preporuka je kreiranje novog radnog prostora za skup
logiki povezanih projekata sa posebnim
podeavanjima (npr. JavaDev za java programe,
JavaWebDev za java web programe, PythonDev - za
java web programe).
8
Plugins and
Features
Prikljuci predstavljaju
komponente za
proirenje
funkcionalnosti Eclipse
IDE-a.
Svojstva (features) su
skupovi logiki
povezanih prikljuaka.
Prikljuci se nalaze u
folderu plugins a
funkcionalnosti u
folderu features.
Na primer, PyDev
instalacija ima 2
funkcionalnosti i 20
prikljuaka.

9
Instalacija dodatnih funkcionalnosti i prikljuaka

Dva naina instalacije:


Online - putem udaljenih repozitorijuma (Update Site).
Putem zip arhiva i dropins foldera.

10
Online instalacija

Update Site predstavlja udaljeni repozitorijum


funkcionalnosti i prikljuaka za Eclipse.
Pristupa mu se putem http protokola.
Za pristup i instalaciju koristi se dijalog Help Install
New Software...

11
Online instalacija - dijalog
Dijalog za instalaciju sadri spisak udaljenih
repozitorijuma i svih funkcionalnosti koje se putem
njih mogu instalirati.
Mogue je da korisnik
doda svoj repozitorijum

12
Online instalacija - dodavanje PyDev
repozitorijuma

PyDev repozitorijum se dodaje navoenjem


proizvoljnog naziva i URL-a koji navedenog na sajtu
PyDev projekta.

13
Online instalacija - izbor funkcionalnosti
Eclipse ce da isita podatke o dostupnim funkcionalnostima na
udaljenom repozitorijumu i ponudie izbor.
Izborom funkcionalnosti i prihvatanjem licence obavlja se
instalacija posle ega se preporuuje restartovanje Eclipse
okruenja. 2
1

14
PyDev konfiguracija

Obavlja se kroz standardni dijalog za konfigurisanje


(Window Preferences).
Potrebno je konfigurisati Python interpreter u sekciji
PyDev Interpreters Interpreter Python
U veini sluajeva dovoljno je izabrati akciju Quick
Auto Config.
Ukoliko Eclipse nije u stanju sam da pronae Python
interpreter to se moe runo definisati opcijom New...

15
PyDev konfiguracija

16
Online instalacija - dodavanje WindowBuilder
repozitorijuma
WindowBuilder repozitorijum se dodaje navoenjem
proizvoljnog naziva i URL-a (zavisi od verzije Eclipse
softvera) koji navedenog na sajtu WindowBuilder
projekta (https://eclipse.org/windowbuilder/).

17
Online instalacija - izbor funkcionalnosti
WindowBuilder

2
1

18
WindowBuilder
WindowBuilder je Eclipse prikljuak (dodatak) koji
omoguava programerima da lako kreiraju desktop
Java GUI Swing aplikacije smanjujui potrebu za
pisanjem programskog koda (Vie o alatu na
predemtu Uvod u Objektno Programiranje ).

19
Eclipse Workbench
Glavni prozor Eclipse IDE-a sa svojim sadrajem.
Pored menija i toolbar-a sadri prozore koji se dele
na editore i poglede (Views).
Editori zauzimaju centralni deo glavnog prozora i
omoguavaju auriranje fajlova.
Pogledi su pomoni prozori koji daju dodatne
informacije o fajlovima koji se auriraju.
Editori se najee otvaraju kroz Package Explorer
pogled.
Pogledi se mogu skrivati/otkrivati, iskljuivati i
ukljuivati kroz dijalog Window Show View.

20
Eclipse Workbench
Pogledi
PackageExplorer (prikazuje listu projekata koji se nalaze u
radnom prostoru i hijerarhiju resursa u okviru projekata),
Outline (prikazuje listu atributa i metoda klase koja se
edituje)
Problems (prikazuje tabelu greaka i upozorenja vezanih za
izvorni kod)
Console (prikaz poruka na ekran za pokrenuti program)
Editor (zauzima centralni deo povrine radnog prostora i
slui za unos koda).
Glavni prozor je mogue organizovati na vie naina,
odnosno, perspektiva (perspective).
Perspektiva predstavlja skup odreenih editora i pogleda
specijalizovanih za razliite namene koje se najee dovodi
u vezi sa tipom projekta (npr. Python, Java, C++, Debug, ..).
21
Eclipse Workbench
Perspektive se promeniti u desnom gornjem uglu.
Neke od perspektiva:
Java - razvoj standardnih java aplikacija,
Jave EE - proireno standardno okruenje koje se npr. moe
koristiti za razvoj web aplikacija,
PyDev - razvoj python aplikacija,
Debug - okruenje za debagovanje/traenje greaka).
Pogledi koji se nalaze u odreenoj perspektivi se
mogu prilagoditi potrebama i navikama programera.
Mogu se dodavati novi ili brisati postojei pogledi iz
perspektiva, a mogu se i menjati veliine i poloaj
pogleda unutar radnog prostora.

22
Eclipse Workbench
PyDev perspektiva

23
Eclipse Workbench
Java perspektiva i editovanje programskog koda

24
Eclipse Workbench
Java perspektiva i rad sa PowerDesigner prikljukom

25
Obavlja se putem menija File
Kreiranje New Project ili kontekstinog
projekta menija New Project na
Package Explorer-u.
Moe se navesti putanja do
ve postojeeg izvornog
koda unosom podataka u
sekciji Project Contents.
Podrazumevana lokacija za
projekat je unutar radnog
prostora.
Zadaje se ime projekta,
Python verzija, interpreter i
odabire se opcija create 'src'
folder and add it to the
PYTHONPATH

26
Projekti
Programski kod se
organizuje unutar
projekata.
Projekat se sastoji od
hijerarhije Python
modula/Java klasa (u
skladu sa pravilima
definisanja paketa u
odabranom programskom
jeziku) i drugih datoteka
(npr. slika, txt fajlova,
konfiguracionih datoteke
itd.).
U okviru radnog prostora
moe da bude definisano
vie projekata. 27
Projekti
Projekat moe da bude otvoren (ikonica otvorena
fascikla) ili zatvoren (ikonica plava zatvorena fascikla).
Samo otvoreni projekti su aktivni, tj. nad njima je
jedino dozvoljen rad u eklipsi.
Zatvoreni projekti ne mogu da se menjaju jer nisu
aktivni (ali se i dalje nalaze u lokalnom fajl sistemu).
Poeljno je zatvarati nepotrebne projekte jer se na taj
nain oslobaaju zauzeti memorijski resursi i podiu
performanse Eclipse alata.

28
Manipulacija sa projektima
Zatvaranje otvorenog projekta - Desni klik na projekat
pa stavka Close Project.
Uklanjanje projekta iz Workbench - Projekte je
mogue ukloniti logiki i fiziki iz Eclipse Workbench-
a. Uklanjanje se postie desnim klikom na selektovani
projekat pa stavka Delete.
Uvalaenje postojeeg projekta - Prebaciti folder
postojeeg projekta u Workspace folder. Pozvati
opciju FileImportGeneral Existing project into
Workspace i kliknuti na dugme Next. Na dugmetu
Browse postaviti putanju do Workspace-a. Iz liste
ponuenih projekata odabrati onaj koji se importuje.
Klik na dugme Finish.

29
Navigacija kroz programski kod
Navigacija kroz kod je mogua upotrebom mia u
kombinaciji sa tastaturom.
Odlazak na definiciju simbola se obavlja na Ctrl + klik
miem.

30
Preice na tastaturi
Ctrl-Q poslednje mesto auriranja
F3 odlazak na deklaraciju
Ctrl-O brzi outline
Alt-left/right kretanje unazad/unapred kroz istoriju
Ctrl+Shift+up/down odlazak na prethodnu/sledeu
funkciju/metodu/klasu
Ctrl-L odlazak na liniju koda
Ctrl-/ postavljanje/skidanje komentara
Ctrl-Shift-F formatiranje izvornog koda
Ctrl-Shift-O organizacija import sekcije
Ctrl-J inkrementalno pretraivanje
Ctrl-K pronalaenje sledeeg
Alt-up/down pomeranje selektovanih linija gore/dole
Shift-Enter umetanje linije ispod tekue
Shift+Ctrl-Enter umetanje linije iznad tekue
31
Pokretanje programa
Izbor opcije Run Run As Python Run (moe i kroz
kontekstni meni).
Kasnije se program moe pokretati i sa tastature na
Ctrl+F11.

32
Pokretanje programa sa posebnim
podeavanjima
Ukoliko pokretanje nije standardno potrebno je
kreirati konfiguraciju za pokretanje (Run
Configuration) odaborom opcije Run Run
Configuration... .

33
Debagovanje
Predstavlja metodoloki proces u otkrivanju i
otklanjanju greaka u softveru sa ciljem da se
postigne eljeno ponaanje softvera.
Ostvaruje se putem namenskih alata koji
omoguavaju korano izvravanje programa i analizu
meustanja.
Primer alata je Eclipse Debuger

34
Debuger
Debuger predstavlja alat u razvojnom programskom
okruenju koji prua mogunost:
zaustavljanja izvravanja aplikacije u bilo kojoj liniji koda.
pristupanje sadraju i stanju objekata unutar programa u
bilo kom trenutku.
Debuger se koristi za:
otklanjanje greaka u aplikaciji (pronalaenje gde i zato
program ne radi)
upoznavanje novih projekata
bolje razumevanje naina rada programskog jezika i
objektno orijentisanog programiranja

35
Pokretanje debagera
Program se pokree u debag reimu rada putem
opcije Run Debug As Python Run.
Ili kasnije na F11.
Eclipse prelazi u Debug perspektivu koja omoguava
praenje procesa i niti, stanja programa, kontrolu,
korano izvravanje itd.
Pre pokretanja debagera potrebno je postaviti makar
jedan break point u kodu.
Break point oznaava mesto u naem programu u
kome e se zaustaviti izvravanje programa
koristi se samo u debug reimu rada
rad u debug modu nije mogu bez barem jedne prekidne
take
u programu mogue je imati vie od jedne prekidne take
36
Debug perspektiva

37
Pogledi Debug perspektive
1. Debug View - prozor koji prikazuje naziv i poziciju
trenutno aktivne programske niti
2. Editor - prikazuje liniju koda koja e se naredna
izvriti. Ova linija koda je posebno oznaana (u
primeru linija koda je selektovana zelenom
pozadinom)
3. Variable view - omoguava uvid u vrednosti objekata
aplikacije

38
Pogledi Debug perspektive
4. Breakpoints view - prikaz svih aktivnih prekidnih
taaka.

5. Toolbar debug mode-a - akcije koje omoguavaju


kretanje kroz debug perspektivu.
6. Sistemska konzola Eclipse-a.
7. Expression view ispitivanje sadraja navedenih
promenljivih (ne prikazuje sve kao Variable view)

39
Izvravanje programa u Debag perspektivi
Toolbar debug mode-a predstavlja najvaniji deo
Debug perspektive koji omoguava kretanje kroz
program:
Resume akcija (F8) - omoguava nastavak izvravanja programa
ili do sledee prekidne take ili do izlazne take aplikacije
Terminate akcija (Ctrl+F2) - zaustavljanje debug sesije,
odnosno zavretak rada aplikacije
Step over akcija (F6) - izvrava trenutno selektovanu liniju koda
i staje na narednoj liniji.
Step into akcija (F5) - ulazi unutar metode koji je trenutno
selektovan i zaustavlja izvravanje aplikacije na vrhu metode
Step return metoda (F7) - zavrava izvravanje trenutno aktivne
metode u kojoj se program nalazi i vraa kontrolu na
metodu pozivaoca.

40
Debagovanje curses aplikacija
Curses modul ne dolazi sa Windows instalaciji
Pythona (The Windows version of Python doesnt
include the curses module )
Konzolni python program koji se pokree iz Eclipse
debagera se izvrava na Eclipse virtuelnoj konzoli koja
nema sve mogunosti kao i prava konzola.
Zbog toga nije mogue interaktivno debagovanje
curses aplikacija na standardan nain.

41
Remote debugging
Reenje je tzv. udaljeni debaging (remote debugging)
koji podrazumeva da se proces u kome se izvrava
na program povee na Eclipse PyDev debager i preda
mu kontrolu. Proces programa i Eclipse debager mogu
da se izvravaju na istom ili razliitim raunarima.

42
Pokretanje servera
Server se pokree iz Eclipse-a izborom dugmia:

Ovi dugmii su vidljivi samo u debag perspektivi a


mogu se aktivirati i u drugim perspektivama izborom
opcije Window Custom perspective Command
groups availability PyDev debug.
Kada se server pokrene ispisae na Eclipse konzoli:
Debug Server at port: 5678
Aktiviranjem debag perspektive u Debug pogledu
videemo indikaciju da se server startovan.

43
Pokretanje servera
Da bi debag server mogao da preuzme kontrolu nad
naim programom moramo dodati parce koda koji ce
se konektovati na server i predati mu kontrolu.

settrace poziv podrazumevano pokuava da se


konektuje na lokalni racunar. Ukoliko je potrebno
moguce mu je proslediti parametar host gde se
navodi IP adresa ili simbolicko ime racunara na kome
je startovan debag server.

44
Pokretanje servera
Dodavanje koda za pokretanje pydevd i pokretanje sa
komandne linije ce uzrokovati sledeom grekom:

Modul pydevd nije na PYTHONPATH pa ga je potrebno


postaviti sa:
Win

Lin

45
Debagovanje
Pokretanjem programa sa komandne linije Eclipse e
da preuzme kontrolu i ponudi mogunost upravljanja
izvravanjem.
Proces debagovanja se dalje sastoji od koranog
izvravanja, postavljanja prekidnih taaka
(breakpoints), inspekcije vrednosti varijabli i sl.

46

Vous aimerez peut-être aussi