informatica:sol:laboratorio11:faq
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
informatica:sol:laboratorio11:faq [09/01/2011 alle 15:27 (14 anni fa)] – [FRAM1: Come deve essere inizializzata la hash table ?] Susanna Pelagatti | informatica:sol:laboratorio11:faq [22/09/2011 alle 10:41 (14 anni fa)] (versione attuale) – [FRAM 3: BUG in testparse] Susanna Pelagatti | ||
---|---|---|---|
Linea 2: | Linea 2: | ||
Ossia // | Ossia // | ||
+ | ===== FRAM 3: BUG in testparse ===== | ||
+ | Nel file testparse e' presente una scorretta temporizzazione fra le attivazioni dei client ed i comandi successivi (es kill) che lavorano sul client stesso. Il problema si deve fissare modificando testparse e introducendo delle sleep fra l' | ||
+ | Ad esempio: | ||
+ | < | ||
+ | # seconda invocazione pippo (password errata) | ||
+ | ./ | ||
+ | # uccido il client (non deve essere attivo) | ||
+ | if killall -w pippoclientw.sh; | ||
+ | echo Error 1 1>&2 | ||
+ | ....... | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | # seconda invocazione pippo (password errata) | ||
+ | ./ | ||
+ | |||
+ | sleep 1 # < ------ fix | ||
+ | |||
+ | # uccido il client (non deve essere attivo) | ||
+ | if killall -w pippoclientw.sh; | ||
+ | echo Error 1 1>&2 | ||
+ | ...... | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== FRAM 1: Il grafo e' ORIENTATO ===== | ||
+ | Nel file '' | ||
+ | |||
+ | ===== FRAM 1: Errore nella specifica di new_graph(): | ||
+ | Nel file '' | ||
+ | <code c> | ||
+ | /** crea un grafo | ||
+ | \param n numero dei nodi del grafo | ||
+ | \param lbl array di etichette de nodi formato: | ||
+ | static const char* citta[] = { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | NULL, | ||
+ | }; | ||
+ | |||
+ | Attenzione: le citta possono contenere solo caratteri alfanumerici e lo spazio ' ' | ||
+ | |||
+ | \retval p puntatore al nuovo grafo (se tutto e' andato bene) | ||
+ | \retval NULL se si e' verificato un errore (setta errno) | ||
+ | (errno == EINVAL se i parametri non sono validi es lbl a NULL) | ||
+ | (errno == ENOMEM se l' | ||
+ | */ | ||
+ | graph_t * new_graph (unsigned int n, char **lbl); | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== FRAM 1: A cosa serve la macro '' | ||
+ | La macro | ||
+ | < | ||
+ | #define UNDEF ((unsigned int) -1) | ||
+ | </ | ||
+ | serve a segnalare l' | ||
===== E' possibile accedere al numero di linea in C ? ===== | ===== E' possibile accedere al numero di linea in C ? ===== | ||
Linea 9: | Linea 72: | ||
__LINE__ | __LINE__ | ||
</ | </ | ||
- | |||
- | |||
===== FRAM3: e' possibile modificare i file .h del primo frammento ? ===== | ===== FRAM3: e' possibile modificare i file .h del primo frammento ? ===== | ||
Si, e' possibile aggiungere campi alle strutture e prototipi nei file .h del primo frammento estendendo la libreria a patto che continuino a funzionare i test del primo frammento. | Si, e' possibile aggiungere campi alle strutture e prototipi nei file .h del primo frammento estendendo la libreria a patto che continuino a funzionare i test del primo frammento. | ||
Linea 20: | Linea 81: | ||
- | ===== FRAM1: Devo invocare perror() dentro le funzioni di genList e genHash | + | ===== FRAM1: Devo invocare perror() dentro le funzioni di libreria |
No, seguendo la convenzione delle funzioni di libreria C gli errori devono essere riportati con un opportuno codice di ritorno ed eventualmente settando '' | No, seguendo la convenzione delle funzioni di libreria C gli errori devono essere riportati con un opportuno codice di ritorno ed eventualmente settando '' | ||
Linea 41: | Linea 102: | ||
(vedete anche man bashdb e l'help che ottenete digitando " | (vedete anche man bashdb e l'help che ottenete digitando " | ||
- | ===== Debuggare programmi con piu` processi ===== | + | ===== Debuggare programmi con piu` processi/ |
- | E` possibile usare GDB per debuggare programmi multiprocesso / multithread come indicato nella documentazione [[http:// | + | E` possibile usare GDB per debuggare programmi multiprocesso / multithread come indicato nella documentazione [[http:// |
- | [[http:// | + | E` possibile usare i comandi indicati anche in DDD, scrivendoli manualmente nel prompt del GDB in basso nella schermata. |
===== Uso di GDB da emacs ===== | ===== Uso di GDB da emacs ===== |
informatica/sol/laboratorio11/faq.1294586833.txt.gz · Ultima modifica: 09/01/2011 alle 15:27 (14 anni fa) da Susanna Pelagatti