Curiosita' tecnica
Alessandro Bonometti
bauno a inwind.it
Ven 28 Feb 2003 11:17:02 UTC
Enrico Colombini wrote:
>Un mio programma C dava "segmentation fault" a causa di un errore. Fin qui
>niente di strano, ma mi incuriosisce la modalita' della cosa:
>
>La causa del segfault era una serie di letture al di fuori dei limiti di un
>array.
>
Non mi risulta che ciò possa dare un errore di protezione 11 (segfault).
X' ciò accada dovresti andare a finire in un segmento di memoria
appartenente ad un altro processo e marcato come "non leggibile".
>Il segfault pero' avveniva piu' tardi, in occasione di una scrittura
>perfettamente lecita in un altro array.
>
Oh, well, lì bisogna vedere...non sempre il messaggio a video appare nel
preciso istante in cui accade l'evento...hai provato a fare un debug/trace?
>Potevo eseguire tutte le letture "out of bounds" che volevo senza problemi, ma
>alla prima scrittura (ho provato a spostarla anche fuori della funzione
>incriminata) andava in segfault.
>
E tu sei assolutamente certo che la scrittura fosse lecita? E` molto
strano...ce l'hai ancora il codice incriminato?
--
Bauno - Eurydices, oro, properata retexite fata!
Prima regola del lifestyling: non copiare. Inventa.
Maggiori informazioni sulla lista
Lug
|