Hozzászólások
Leggyakoribb okok:
- String nincs NULL-la lezárva.
- Tömb nem létező elemére való hivatkozás (pl: ciklustúlfutás)
- Nem lefoglalt terület fölszabadítása (malloc-free).
- Nem megnyitott állomány lezárása (open-close).
- Hibás pointeraritmetika.
Hirtelen ennyi jut eszembe.
- A hozzászóláshoz be kell jelentkezni
[quote:2896092b6c="meditor"]- Nem megnyitott állomány lezárása (open-close).
<nitpick>Nalam ez tok jol hibat produkal, kapok egy EBADF-et tobbnyire. Meglepodnek, ha ez segfaultolna</nitpick>
- A hozzászóláshoz be kell jelentkezni
[quote:9f7bf46563="algernon"][quote:9f7bf46563="meditor"]- Nem megnyitott állomány lezárása (open-close).
<nitpick>Nalam ez tok jol hibat produkal, kapok egy EBADF-et tobbnyire. Meglepodnek, ha ez segfaultolna</nitpick>
A malloc-free és a open-close párokat úgy általában
írtam. Mindengyiknek számos analógja van, a free-ből például
XFree() is van.
Az biztos, hogy az fclose(), ha előtte nincs fopen(), segfaultot
okoz (Linux, 2.4.26), lehet, hogy konkrétan a close nem.
Igazad van, precízebb is lehettem volna.
- A hozzászóláshoz be kell jelentkezni
[quote:195af27fd2="meditor"][quote:195af27fd2="algernon"][quote:195af27fd2="meditor"]- Nem megnyitott állomány lezárása (open-close).
<nitpick>Nalam ez tok jol hibat produkal, kapok egy EBADF-et tobbnyire. Meglepodnek, ha ez segfaultolna</nitpick>
Az biztos, hogy az fclose(), ha előtte nincs fopen(), segfaultot
okoz (Linux, 2.4.26), lehet, hogy konkrétan a close nem.
Ez ugyanaz akkor, mint az elszurt pointermuveletek, leven fclose pointert var. O:)
(Bocsi, rossz napom van, kotoszkodom >;)
- A hozzászóláshoz be kell jelentkezni
[quote:c0dfc812e9="algernon"][quote:c0dfc812e9="meditor"][quote:c0dfc812e9="algernon"][quote:c0dfc812e9="meditor"]- Nem megnyitott állomány lezárása (open-close).
<nitpick>Nalam ez tok jol hibat produkal, kapok egy EBADF-et tobbnyire. Meglepodnek, ha ez segfaultolna</nitpick>
Az biztos, hogy az fclose(), ha előtte nincs fopen(), segfaultot
okoz (Linux, 2.4.26), lehet, hogy konkrétan a close nem.
Ez ugyanaz akkor, mint az elszurt pointermuveletek, leven fclose pointert var. O:)
(Bocsi, rossz napom van, kotoszkodom >;)
Nézd, a SegFault attól van, hogy belenyúlsz egy olyan
területbe, amibe nem volna szabad. Az általam felsorolt
összes példa túlképp elkurbicolt pointer.
De ha hibát keresel, nem biztos, hogy egy pointerként
manifesztálódik a hibás kód. Egy könyvtári utasítás is
okozhatja, amelybe rejtve ott van a hibás pointer.
Én elsősorban a programkódot nézem és nem
ami mögötte van. Ez lehet, hogy konstrukciós hiba nálam.
- A hozzászóláshoz be kell jelentkezni
ha ebbe bukok bele amikor lefuttatom a progim (amit gccvel fordítottam) akkor az mit jelent és hol kapahtok bővebb infot, logot kimenetet valamit?
- A hozzászóláshoz be kell jelentkezni
Nézd meg ezt:
http://www.bitwizard.nl/sig11/
- A hozzászóláshoz be kell jelentkezni
vagy valami gebasz van a pointerekkel, vagy tombnel nem letezo indexre hivatkozas, etc. Forditsd ugy, hogy minden debug infot bekapcsolsz, es hasznalj gdb-t. manapsag nagyon jo frontendek is vannak hozza.
- A hozzászóláshoz be kell jelentkezni