segmentation fault 11
Verfasst: 09.03.2017 02:45
hi leute,
also ich arbeite an einem programm. kurz um mein anliegen:
wenn ich das programm im IDE einfach teste, läuft alles prima ohne irgendwelche probleme. starten, testen und beenden, alles super.
wenn ich das ding kompiliere und das executable starte läuft auch alles prima.
nur wenn ich das programm beende, gibt er mir unmittelbar nach dem beenden
"segmentation fault" an, über konsole habe ich die info herausbekommen das es
"segmentation fault 11" ist und den thread 0 betrifft. Wohl das Hauptprogramm. Die ist sowas von umfangreich, das ich hier kein code posten kann. ich weiß auch gar nicht wo das problem überhaupt nur liegen könnte.
es werden jede menge pointer und arrays genutzt. Arrays mit Dim/Redim die vor dem Beenden Redim x(0) gemacht werden.
Speicher *mem =allocatememory(),
die vor dem beenden mittels
if *mem:freemem(*mem):endif
freigegeben werden
und dynamische Listen NEwList, die einfach ClearList gemacht werden.
Es gibt Pointer die auf Gadgets und Speicherräume gezeigt werden, die vor dem Beenden einfach genullt werden.
darüber hinaus verwendet die software mehrere threads, die parallel laufen und verschiedene aufgaben im hintergrund erledigen. wenn das programm jedoch beendet werden soll, wird ein "Beenden-Thread" gestartet, die alle anderen Threads killed, alle oben beschriebenen Aufgaben und einiges mehr erledigt, einen Flag für die Hauptschleife fürs Beenden setzt und sich dann auch killed. Die Hauptschleife wird auf Grund des Flags dann gebreaked und das programm wird beendet.
soweit ich das ganze beurteilen kann ist alles im butter. ich habe nicht die leiseste ahnung, wo der fehler liegen könnte.
system ist macos el capitan. x86 compile, pb 5.50.
hat jemand eine idee? irgendein nützliches anhaltspunkt?
Kurt
also ich arbeite an einem programm. kurz um mein anliegen:
wenn ich das programm im IDE einfach teste, läuft alles prima ohne irgendwelche probleme. starten, testen und beenden, alles super.
wenn ich das ding kompiliere und das executable starte läuft auch alles prima.
nur wenn ich das programm beende, gibt er mir unmittelbar nach dem beenden
"segmentation fault" an, über konsole habe ich die info herausbekommen das es
"segmentation fault 11" ist und den thread 0 betrifft. Wohl das Hauptprogramm. Die ist sowas von umfangreich, das ich hier kein code posten kann. ich weiß auch gar nicht wo das problem überhaupt nur liegen könnte.
es werden jede menge pointer und arrays genutzt. Arrays mit Dim/Redim die vor dem Beenden Redim x(0) gemacht werden.
Speicher *mem =allocatememory(),
die vor dem beenden mittels
if *mem:freemem(*mem):endif
freigegeben werden
und dynamische Listen NEwList, die einfach ClearList gemacht werden.
Es gibt Pointer die auf Gadgets und Speicherräume gezeigt werden, die vor dem Beenden einfach genullt werden.
darüber hinaus verwendet die software mehrere threads, die parallel laufen und verschiedene aufgaben im hintergrund erledigen. wenn das programm jedoch beendet werden soll, wird ein "Beenden-Thread" gestartet, die alle anderen Threads killed, alle oben beschriebenen Aufgaben und einiges mehr erledigt, einen Flag für die Hauptschleife fürs Beenden setzt und sich dann auch killed. Die Hauptschleife wird auf Grund des Flags dann gebreaked und das programm wird beendet.
soweit ich das ganze beurteilen kann ist alles im butter. ich habe nicht die leiseste ahnung, wo der fehler liegen könnte.
system ist macos el capitan. x86 compile, pb 5.50.
hat jemand eine idee? irgendein nützliches anhaltspunkt?
Kurt