Aplicacion 32bits en maquina de 64
Rodrigo Javier Tobar Carrizo
rtobar en alumnos.inf.utfsm.cl
Mar Abr 15 10:35:05 CLT 2008
Claudio Salazar wrote:
> Rodrigo Javier Tobar Carrizo escribió:
>> Alvaro Herrera escribió:
>>> Rodrigo Javier Tobar Carrizo escribió:
>>>
>>>> Program received signal SIGSEGV, Segmentation fault.
>>>> 0x080495cd in generate_new_population () at subgalaxyfinder.c:763
>>>> 763 GalA[numgal].BulgeMass = 0.0;
>>>> (gdb)
>>>>
>>>> Es decir, se me cae en una asignacion, asi de simple.
>>>
>>> Esto no es "simplemente una asignacion" -- estas dereferenciando el
>>> puntero GalA. Quizas GalA es nulo, o bien GalA[numgal] apunta mas alla
>>> del fin de la memoria.
>>>
>>> Fijate cuanto valen GalA y numgal en ese punto.
>>
>> Si, por supuesto que lo hice... por eso hice todo el pasteleo de
>> revisar. GalA es un puntero valido, y numgal esta dentro del scope del
>> arreglo. De hecho, si le hago un printf funciona, o, como mencione
>> tambien, si dentro de gdb hago un "set GalA[numgal] = 0", tambien
>> funciona. Por eso me resulta raro.
>>
>> Saludos!
> Si GalA es un puntero, no deberia ser GalA[numgal]->BulgeMass = 0.0; ?
>
> Saludos
No, ese seria el caso de que GalA fuese un puntero doble. GalA esta
definido como:
struct GALAXY *GalA;
Por lo tanto, ese no es el problema.
Saludos!
--
Rodrigo Tobar Carrizo http://csrg.inf.utfsm.cl/~rtobar
ACS-UTFSM Technical Leader +56 9 78073439
Linux User #399271
Más información sobre la lista de distribución Linux