Aktuelle Zeit: 19.07.2018 08:12

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 23 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags: Programm hängt sich unter Windows 10 auf
BeitragVerfasst: 14.06.2018 11:48 
Offline
Benutzeravatar

Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Servus!

Ich schreibe ja alle PB-Programme hier auf meinem Win7-Rechner. Aktuell brauche ich aber eins auf meinem Win10-Tablet.

Mein Programm hängt sich aber am Win10-Tablet immer auf. Ohne "Kommentar" - Gibt es eine Möglichkeit das Programm wenn es vereckt zu debuggen, um den Fehler wenigstens eingrenzen zu können?

Wenn ich in meinem Programm Threads verwende, muss ich in den Compiler-Optionen "Thread-Sicheres Executeable erstellen" aktivieren?


Achja, bevor ich's vergesse ... kann es sein, dass PB 5.62 bei ReadFile/OpenFile nen Bug hat? :?

Sry, bin gerade etwas verzweifelt ....

Grüße
Thomas

_________________
v5.62


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm hängt sich unter Windows 10 auf
BeitragVerfasst: 14.06.2018 11:52 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Wann hängt sich dein Programm auf? Direkt beim Kompilieren oder beim Start oder irgendwann während der Laufzeit?

Thomas hat geschrieben:
Achja, bevor ich's vergesse ... kann es sein, dass PB 5.62 bei ReadFile/OpenFile nen Bug hat? :?

Nicht, dass ich wüsste. Mir ist nichts bekannt. Ich hatte nie Probleme damit. Was für einen Fehler hast du denn festgestellt?

_________________
BildBildBildBild
Bild | EnableExplicit ist kostenlos und vermeidet Fehler | Gib Goto keine Chance | Schneller als die Telekom erlaubt | Avira? Nein Danke
WinAPI forever | Bei Problemen bitte Beispielcode posten | Mit Adblock werbefrei, schneller und sicherer surfen | brain.exe ist der beste Schutz | Userlibrary ohne Source = NoGo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm hängt sich unter Windows 10 auf
BeitragVerfasst: 14.06.2018 12:20 
Offline
Benutzeravatar

Registriert: 06.07.2017 12:24
Thomas hat geschrieben:
Gibt es eine Möglichkeit das Programm wenn es vereckt zu debuggen, um den Fehler wenigstens eingrenzen zu können?

Ich bin grad nicht an meinem Computer, aber ich meine in der "Preferences" im Menü gibt es ein Häkchen, was du aktivieren kannst, daß PureBasic bei einem Fehler ein Error-Logfile anlegt, bzw. in ein solches hineinschreibt. Dann hast du auch Feedback, wenn die IDE mal verreckt.
Hängt sich dein Programm auch auf, wenn du es ohne Debugger compilierst?

_________________
Now these points of data make a beautiful line,
And we're out of Beta, we're releasing on time.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm hängt sich unter Windows 10 auf
BeitragVerfasst: 14.06.2018 12:31 
Offline
Benutzeravatar

Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Hier auf Win7 hatte ich das Problem immer gleich nach'm compilieren - sprich, entweder ging's oder ging's garnicht. (Aber das habe ich nicht für ganz Voll genommen, hatte das Problem sogar mit diesem Code)
Code:
Debug RGB(100, 200, 50) ; Als einzige Zeile ... sonst nix


Auf Win10 sporadisch während der Laufzeit.

An dem Häkchen wäre ich echt interessiert :)



Zitat:
Nicht, dass ich wüsste. Mir ist nichts bekannt. Ich hatte nie Probleme damit. Was für einen Fehler hast du denn festgestellt?

Die Datei wird einfach nicht geöffnet, sprich 0 zurückgegeben. PC-Neustart behebt das Problem ...

_________________
v5.62


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm hängt sich unter Windows 10 auf
BeitragVerfasst: 14.06.2018 12:32 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Deine Aussage lässt vermuten, das Du threads verwendest. Da liegt dann wahrscheinlich auch Deine Problem. Es muss mehr getan werden, als nur den Haken in den Compiler-Optionen zu setzen :mrgreen: . Die File-Lib ist zwar threadsafe, aber nur wenn auch entsprechend programmiert wird. Die Compiler-Option sichert kaum mehr als die Strings ab.

_________________
PureBasic 5.70 | SpiderBasic 2.10 | Windows 10 Pro (x64) | Linux Mint 19.0 (x64)
"Ich möchte gerne die Welt verändern, doch Gott gibt den Quellcode nicht frei."
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm hängt sich unter Windows 10 auf
BeitragVerfasst: 14.06.2018 12:38 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Thomas hat geschrieben:
Hier auf Win7 hatte ich das Problem immer gleich nach'm compilieren

Wenn du deine Antivirensoftware temporär deaktivierst, besteht das Problem weiterhin?
Wenn nicht, dann liegt es daran und du musst eine Ausnahme-Regel für PB erstellen.

_________________
BildBildBildBild
Bild | EnableExplicit ist kostenlos und vermeidet Fehler | Gib Goto keine Chance | Schneller als die Telekom erlaubt | Avira? Nein Danke
WinAPI forever | Bei Problemen bitte Beispielcode posten | Mit Adblock werbefrei, schneller und sicherer surfen | brain.exe ist der beste Schutz | Userlibrary ohne Source = NoGo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm hängt sich unter Windows 10 auf
BeitragVerfasst: 14.06.2018 12:53 
Offline
Benutzeravatar

Registriert: 06.07.2006 19:24
Wohnort: Regensburg
ts-soft hat geschrieben:
Deine Aussage lässt vermuten, das Du threads verwendest. Da liegt dann wahrscheinlich auch Deine Problem. Es muss mehr getan werden, als nur den Haken in den Compiler-Optionen zu setzen :mrgreen: . Die File-Lib ist zwar threadsafe, aber nur wenn auch entsprechend programmiert wird. Die Compiler-Option sichert kaum mehr als die Strings ab.


Ja, es sind 2 oder 3 Threads die da laufen :freak:
Wie programmiert man Threadsafe, worauf ist zu achten? :? Gab scheinbar "damals" nen guten Grund, einen Bogen darum zu machen :bounce:

Die File-Lib wird nicht in Thrads verwendet.

RSBasic hat geschrieben:
Thomas hat geschrieben:
Hier auf Win7 hatte ich das Problem immer gleich nach'm compilieren

Wenn du deine Antivirensoftware temporär deaktivierst, besteht das Problem weiterhin?
Wenn nicht, dann liegt es daran und du musst eine Ausnahme-Regel für PB erstellen.

Nö, das Problem mit Debug RGB ist dann weg.

_________________
v5.62


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm hängt sich unter Windows 10 auf
BeitragVerfasst: 14.06.2018 13:06 
Offline
Benutzeravatar

Registriert: 06.07.2006 19:24
Wohnort: Regensburg
// Nachtrag ...
es scheint wirklich irgendwie an den Threads zu hängen:
-> mit der "Thread-Sicheren Exe" ist es besser, also das Programm schließt sich nicht mehr ohne Grund, sondern friert "nur" ein :mrgreen:
-> das Problem kommt nur vor, wenn gerade Threads im Spiel sind.

=> wird ein steiniger Weg. Also wenn Ihr Tipps für sauberes Programmieren mit Threads habt, her damit. In der Hilfe steht ja nur man soll Vorsichtig sein - das lässt Interpretationsfreiraum :praise:

_________________
v5.62


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm hängt sich unter Windows 10 auf
BeitragVerfasst: 14.06.2018 13:08 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Man kann nicht pauschal sagen, worauf man bei Threads achten muss, ohne weit auszuholen.
Du musst bei Threads allerdings dran denken, dass diese eben parallel nebeneinander laufen und es deswegen wichtig ist gemeinsame Ressourcen wie globale Variablen, Listen und Arrays und mehr gegenseitig abzusichern, wenn sie in mehr als einem Thread verwendet werden. Dafür gibt es unter anderem CreateMutex() und CreateSemaphore(). Beispiele gibt es auch in der Hilfe.
Angenommen du hast einen Thread, der eine globale Variable i 1000 mal um eins erhöht. Dann startest du diesen Thread x mal gleichzeitig. Das Ergebnis wird mit hoher Wahrscheinlichkeit nicht x * 1000 sein. Deswegen musst du die Variable mit einem Mutex schützen, indem du Lese- und Schreibzugriffe auf diese Ressource damit umschließt.

Aber ich merke schon. Ich fange wieder an zu weit auszuholen. :-D Machen wir es doch lieber umgekehrt. Was willst du mit deinen Threads machen? Dann können wir dir sagen, auf was du in diesem konkreten Fall Acht geben musst.

Ach, und denk dran. Dein Hauptprogramm ist auch ein Thread. Also mit dem ersten Aufruf von CreateThread() hast du bereits zwei Threads am Laufen. ;-)

_________________
Freakscorner.de - Der Bastelkeller | Neustes Video: Creality 3D CR-10 Review und erste Druckergebnisse
Ubuntu Gnome 16.04.3 LTS x64, PureBasic 5.60 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, 5.50)
"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: Programm hängt sich unter Windows 10 auf
BeitragVerfasst: 14.06.2018 13:11 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
Zitat:
Wie programmiert man Threadsafe, worauf ist zu achten?

Das kann man so pauschal nicht beantworten, aber auf jeden Fall sind alle Objekte mit Mutex abzusichern. Desweiteren ist darauf zu achten, das alle Threads regulär beendet werden, bevor man sein Programm schließt (wäre z.B. bei FileLib erforderlich, das wirklich CloseFile() aufgerufen wird, das Du ja nicht nutzt.

Also Listen, Arrays usw. mit Mutex absichern und Threads sicher mit Semaphoren (SignalSemaphore()) absichern. Ohne Code kann ich Dir aber kein Beispiel geben.

Nachtrag: NickTheQuick war wohl schneller

_________________
PureBasic 5.70 | SpiderBasic 2.10 | Windows 10 Pro (x64) | Linux Mint 19.0 (x64)
"Ich möchte gerne die Welt verändern, doch Gott gibt den Quellcode nicht frei."
Bild


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 23 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


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