Segmentation fault (core dumped)

Zdenek Pizl pizl na max.af.czu.cz
Pondělí Duben 20 14:53:09 CEST 1998


Roman Vesely wrote:
> 
> On Mon, 20 Apr 1998, Radim HABALA wrote:
> 
> >
> > Ahoj, mam problem.
> > Mam program bytvoreny v Borland C, kde bezi v poradku. Je to ANSI C nebo
> > C++ (vetsinou ANSI C, ale pouziva struct s casti public i private; stejne
> > tak i s funkcemi.
> > pri prekladu Borland C bezi vse OK, bez problemu; pokud jej chci prelozit
> > gcc pod Linuxem, tak se prelozi OK, ale po chvilce behu (s nejvyssi
> > pravdepodobnosti pri prvnim pouziti funkci ztoho objektu (struct)) vypise
> > "Segmentation fault (core dumped)". Takze bych se chtel zeptat, co tato
> > hlaska vlastne znamena (nejaka chyba v segmentaci, typlivnul core, tzn.
> > tusim pametovou oblats, kde se zrovna ten program nachazel).
> 
> Program pristupuje do pameti, ktera mu nenalezi.(nealokoval si ji)
> V dosu to "system" nepozna, takze tam to budi dojem, ze pracuje spravne.
> 

 Ono bohate staci, kdyz se progeam snazi prepsat readonly konstantu,
treba 

	char *konst="tohle je konstanta, nejde jizmenit !!";

        konst[0]='x'; // a uz to zbuchne, protoze nemuzes zapisovat do
read-only kusu pameti !!!

> > Rad bych vedel, co to vlastne znamena pro mne (nejlepe, jak tu chybu
> > odstranit), pripadne jak se to da debugovat 

 pouzijte debugger nesouci jmeno gdb (radkovy v txt modu) nebo xxgdb -
to samy ale pro X-win, samozrejme nezapomente kompiovat svuj program s 
 prepinacem '-g'


				Zdenek Pizl


Další informace o konferenci Linux