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