Segmentation fault (core dumped)
Pavel Just
Pavel.Just na ais.cz
Úterý Duben 21 12:09:45 CEST 1998
On Mon, 20 Apr 1998, Zdenek Pizl wrote:
> Date: Mon, 20 Apr 1998 14:56:12 +0200 (MEST)
> From: Zdenek Pizl <pizl na max.af.czu.cz>
> Reply-To: linux na muni.cz
> To: Multiple recipients of list <linux na ais.cz>
> Subject: Re: Segmentation fault (core dumped)
>
> 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 !!!
To je pravda. Ale je mozne to obejit parametrem -fwritable-strings
pri prekladu.
Pavel Just
>
> > > 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