Aktuelle Zeit: 28.03.2017 23:42

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: segmentation fault 11
BeitragVerfasst: 09.03.2017 02:45 
Offline

Registriert: 14.12.2015 15:16
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: segmentation fault 11
BeitragVerfasst: 09.03.2017 03:17 
Offline
StudiAdmin oder sowas in der Art
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Hast du Threadunterstützung aktiviert? Allgemein ist Threads killen auch nicht gut. Ressourcen können nicht freigegeben werden. Die Threads sollten sich möglichst selbst beenden können. Mittels Semaphoren, Mutexen oder einfach WaitThread() kann das Hauptprogramm darauf warten, dass sich alle Threads beendet haben.

_________________
Freakscorner.de - Der Bastelkeller | Neustes Video: CNC X-Achse Teil 2
Ubuntu Gnome 14.04 x64, PureBasic 5.50 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: segmentation fault 11
BeitragVerfasst: 09.03.2017 10:37 
Offline

Registriert: 14.12.2015 15:16
vielen vielen dank für deine super-idee NicTheQuick.

waitthread wars. die hatte ich gar nicht eingebaut. läuft alles prima. very very thanks.

ich dachte schon, das ich nächte lang nach der ursache suchen muss. puhhh.. glück gehabt. thanks.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye