• [^] # segfault n'est pas systématiquement au même endroit

    Posté par . En réponse au journal pb de pôinteur en pascal. Évalué à 2.

    je n'ai aps fait de pascal depuis ... mais

    ben non, gdb me dit qu'il plante à la 25, 27 ou 29 valeur :*((((
    un dépassement de buffer ne fait pas crasher (segment fault) un programme forcément tout de suite. il faut que tu dépasses toute la zone mémoire allouée aux variables de ton programme (quand tu modifie par un pointeur erroné le contenue d'une autre variable, cela ne déclenche pas de fault, mais évidemment cela va déclencher des bugs ...)

    en + la détection du dépassement de cette zone par le proc (segfault) se fait lors du passage à la page mémoire suivante, ce qui complique un peu + les choses

    bref t'as plus qu'à exécuter pas à pas pour comprendre où ça foire (probablement 24 ou 25)