istruzioni di laboratorio

Transcript

istruzioni di laboratorio
PAD: istruzioni di laboratorio
(PADlab - feb'08)
PAD: istruzioni di laboratorio
Alberto Cappadonia
Emanuele Cesena
Politecnico di Torino
Dip. Automatica e Informatica
Per cominciare a lavorare
 effettuare
p
pagina
g
il logon con la matricola (sXXXXXX)
del corso:
 http://security.polito.it/~lioy/01fqt/
© Politecnico di Torino (2004-2008)
1
PAD: istruzioni di laboratorio
(PADlab - feb'08)
Per cominciare a lavorare (2)
 ogni
settimana preparare la configurazione per PAD
 aprire
p
Internet Explorer
p
 tra
i preferiti cercare WEBLaib
http://weblaib.laib.cesit.polito.it
 nella
pagina web visualizzata cliccare su
“Connetti” (click su “Apri” -> “Esegui”)
 sul
desktop vengono aggiunte le icone “Cygwin”
Cygwin ,
GVIM ed “Home Page Personale”
 l’area
personale è connessa come unità logica M:
Esercitazioni C
© Politecnico di Torino (2004-2008)
2
PAD: istruzioni di laboratorio
(PADlab - feb'08)
Cygwin
 cosa
è:
 cygwin
yg
è un emulatore di ambiente Linux p
per
Windows, che permette di sperimentare le principali
caratteristiche dell'ambiente di lavoro del sistema
operativo Linux
 www.cygwin.com
 cygwin
yg
mette a disposizione
p
 la
possibilità di usare all'interno di un programma C
le principali system call Unix/Linux (cygwin1.dll)
 vari
interpreti dei comandi (bash, sh, tcsh) e un
insieme di tool tra cui editor, compilatore e debugger
Ambiente di sviluppo
 avvio
di cygwin: W:\cygwin1.5.25\cygwin.bat
(oppure icona sul desktop)
 !!
attenzione: usare solo la versione la 1.5.25 e NON
le altre eventualmente presenti sul server !!
 directory
di lavoro per cygwin:
 D:\Cygwin\Home\<user>
 corrisponde
 !!
(('sXXXXXX')
sXXXXXX )
a /home/<user>
cancellata ogni settimana !!
© Politecnico di Torino (2004-2008)
3
PAD: istruzioni di laboratorio
(PADlab - feb'08)
Comandi principali
 comandi
della shell “bash”
 elenca
 copia:
file: ls
cp src dst
 sposta/rinomina:
 cancella:
 cambia
 crea
'mv src dst‘
rm file
dir: cd dir
dir: mkdir dir
 cancella
dir (vuota): rmdir dir
Guide sui programmi
 manuali
dei comandi/programmi
 man
bash : manuale della shell
 man
<program> : manuale del programma
 info
<program> : manuale del programma
 es.
info gcc
© Politecnico di Torino (2004-2008)
4
PAD: istruzioni di laboratorio
(PADlab - feb'08)
Editor
 vim:
Vi IMproved
 modalità
comando: <esc>
 modalità
inserimento: i
 esci:
'<esc> :q(!) <invio>‘
 salva:
'<esc> :w <invio>'
 highlighting:
 gvim:
'<esc> :sy on'
Vim grafico (click su icona sul desktop)
 normale
in inserimento: <esc> i
Altre utility
 less
 zip
p
<filename>: lista il contenuto di un file
/ unzip
p (se
( presenti)
p
)
 zip
-r pippo.zip pippo/
 unzip
 tar
(-l) pippo.zip
/ gzip ('zip versione Unix')
 tar
czvf pippo.tar.gz pippo/
 tar
(x|t)zvf pippo.tar.gz
© Politecnico di Torino (2004-2008)
5
PAD: istruzioni di laboratorio
(PADlab - feb'08)
Compilatore: gcc
 gcc:
GNU C compiler
g
gcc
file1.c file2.c ... -o p
progname
g
-g
g -Wall
 -l<libname>
: per linkare librerie
 make:
 utilizzo
di script per la compilazione
 esempio:
server: server.c errlib.c sockwrap.c
gcc -o $@ $^
clean:
rm -f *.o *.exe
Debugger: gdb
 gdb
<exefile> <corefile> (ulimit -c unlimited)
 run
c
[[arglist]
g ] : avvia il programma
p g
: continua l’esecuzione
 break
 bt
[file:]function : setta un breakpoint su function
: stampa lo stack del programma (up/down)
 list
[file:]function : lista il codice 'corrente'
 print
<expr> : stampa il valore dell'espressione
 next
/ step : esegue la prossima riga di codice
(over/into)
 quit
: esce da gdb
© Politecnico di Torino (2004-2008)
6
PAD: istruzioni di laboratorio
(PADlab - feb'08)
Test con Solaris/SPARC
 disponibile
 !!
la macchina cclix2 al Labinf
necessario un account al Labinf !!
 connessione
 ssh
via ssh
[email protected]
 ulteriori
informazioni per la connessione via ssh
 http://www.labinf.polito.it/
 “Servizio
SSH e FTP”
Stile di programmazione
 requisiti
minimi
 il
programma
p
g
DEVE essere leggibile
gg
-> indentare
 il
programma si DEVE capire -> commentare
 il
programma DEVE funzionare -> compilare, testare
 requisiti
di sicurezza
 controllo
dell’input
 controllo
dimensioni dei buffer e delle stringhe
 logging
 testing
© Politecnico di Torino (2004-2008)
/ error reporting -> err_msg()
avanzato (errori, casi limite, ...) -> debugger
7
PAD: istruzioni di laboratorio
(PADlab - feb'08)
Esercitazioni Web
Ambiente di lavoro
 installare
Mozilla Firefox
 ((click
sul desktop)
p) "Installazione applic."
pp
 (click
sul pulsante) “Aggiungi nuovo prog.“
 contiene
la plug-in HTML validator
 http://addons.mozilla.org/en-US/firefox/addon/249
 directory
di lavoro per esercizi sul web M:\
 visibile
tramite browser (IE/Firefox) come
http://weblaib.laib.cesit.polito.it/sXXXXXX
 oppure
© Politecnico di Torino (2004-2008)
link “Home Page Personale” sul desktop
8
PAD: istruzioni di laboratorio
(PADlab - feb'08)
Uso e durata degli account del corso
 username
 durante
 dopo
e password possono essere usati
il corso PAD
la fine del corso PAD fino al 31 luglio 2010
i
file contenuti nell’area personale (M:\) saranno
conservati per tutta la durata degli account
 ATTENZIONE!
sono visibili all’interno del Poli via
browser con la seguente URI:
http://weblaib.laib.cesit.polito.it/sXXXXXX
Conclusione
 approccio
 testate
 !!
incrementale
il programma
p g
imparate ad usare il debugger !!
 chiedete
informazioni agli esercitatori e ai borsisti
 salvate
il lavoro (chiavetta USB) al termine
dell'esercitazione
 !!
le
l aree utente
t t di cygwin
i vengono cancellate
ll t !!
© Politecnico di Torino (2004-2008)
9