(programmeren) "Segmentation Fault"

Moderators: dirkwb, Xilvo

Forumregels
(Middelbare) school-achtige vragen naar het forum "Huiswerk en Practica" a.u.b.
Zie eerst de Huiswerkbijsluiter
Reageer
Gebruikersavatar
Berichten: 296

(programmeren) "Segmentation Fault"

Het volgende probleem ben ik al bij programma's in verschillende talen tegengekomen, maar ik begrijp niet waar het voor staat.

Na het compileren van een code, wat overigens geen fouten geeft, crashed het programma na opstarten en geeft "segmentation fault" zonder enige verdere uitleg.

Wat betekent dit? Wat voor soort probleem is dit en waar moet ik de oorzaak zoeken?
"Not everything that can be counted counts, and not everything that counts can be counted." (A. Einstein)

Berichten: 7.068

Re: (programmeren) "Segmentation Fault"

Wat betekent dit? Wat voor soort probleem is dit en waar moet ik de oorzaak zoeken?


Het betekent dat je probeert een geheugenadres te lezen of te schrijven waar je geen gebruik van mag maken (dacht ik). Ben je toevallig met pointers in de weer?

Gebruikersavatar
Berichten: 296

Re: (programmeren) "Segmentation Fault"

Brownie schreef:Wat betekent dit? Wat voor soort probleem is dit en waar moet ik de oorzaak zoeken?


Het betekent dat je probeert een geheugenadres te lezen of te schrijven waar je geen gebruik van mag maken (dacht ik). Ben je toevallig met pointers in de weer?
Ja, ook dat. Iemand anders vertelde me dat ik waarschijnlijk ergens een niet geldige index gebruikte in een array. Een pointer zou dan ook goed kunnen natuurlijk.

Het doet zich voor op het moment dat ik een C-routine aanroep vanuit een IDL-code. Het merkwaardige is dat als ik de boel compileer met IDL 5.3 er geen probleem is. Als ik het compileer met IDL 6.0 dan gebeurt het wel.
"Not everything that can be counted counts, and not everything that counts can be counted." (A. Einstein)

Gebruikersavatar
Berichten: 5.679

Re: (programmeren) "Segmentation Fault"

Ja, ook dat. Iemand anders vertelde me dat ik waarschijnlijk ergens een niet geldige index gebruikte in een array. Een pointer zou dan ook goed kunnen natuurlijk.
Da's hetzelfde :roll:
In theory, there's no difference between theory and practice. In practice, there is.

Gebruikersavatar
Berichten: 7.224

Re: (programmeren) "Segmentation Fault"

Brownie schreef:Ja, ook dat. Iemand anders vertelde me dat ik waarschijnlijk ergens een niet geldige index gebruikte in een array. Een pointer zou dan ook goed kunnen natuurlijk.

Het doet zich voor op het moment dat ik een C-routine aanroep vanuit een IDL-code. Het merkwaardige is dat als ik de boel compileer met IDL 5.3 er geen probleem is. Als ik het compileer met IDL 6.0 dan gebeurt het wel.


Gaat het hier om de nul-index van een array. Het kan zijn dat je die apart moet specificeren en dat "a(100)" geen goede declaratie is. Voor Fortran geld dit namelijk. De ene compiler neemt de nul-index standaard mee en de ander niet. Dan wordt het dus "a(0:100)".
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton

Berichten: 4

Re: (programmeren) "Segmentation Fault"

compileren met verschillende compilers is bijna nooit een goed idee (toch niet als ge uw gecompileerde bestanden daarna door mekaar gaat gebruiken). het zou dus kunnen dat ge met die idl 5.3 en 6.0 de zaken enkel erger maakt. 't is maar dat ge het weet.

anderzijds, idl, is dat niet iets dat gebruikt wordt om c en java e.d. uit te genereren? in dat geval is er op idl-niveau helemaal geen bytecode in het spel, en moet ge de oorzaak bij uw c-compiler zoeken.

Reageer