Projekt- und Programmabsturz nach Benutzung auf *.pbi ausgelagerter Prozeduren im Compilat
Projekt- und Programmabsturz nach Benutzung auf *.pbi ausgelagerter Prozeduren im Compilat
Hallo,
PureBasic 5.73 unter LinuxMint 20.3 und PureBasic 5.72 unter Debian 10
Ich weiß nicht, ob das jetzt Betriebssystem speziefisch ist, ich verwende nur Linux. Folgendes Verhalten ist in beiden BS mit oder ohne Projekt dasselbe :
Aus einer *.pb habe ich Prozeduren in eine *.pbi ausgelagert. Die *.pbi ist mit XincludeFile “Dateiname.pbi“ in der *.pb eingebunden. Ich kann das Programm aus der IDE compilieren, starten und uneingeschränkt testen. Solange dabei keine auf die *.pbi ausgelagerte Prozedur aufgerufen wird, komme ich nach Schließen des Compilats auch wieder zur weiteren Bearbeitung in die IDE zurück. Wird jedoch beim Testen eine auf die *.pbi ausgelagerte Prozedur aufgerufen, stürzt PureBasic mit Beenden des Compilats ab. Die IDE wird geschlossen und ich muß PureBasic erneut aufrufen und alles wieder erneut öffnen um fortfahren zu können.
Was kann die Ursache sein ? (Falls Ihr weitere Infos benötigt, liefere ich diese gerne nach.)
Gruß iwelx
PureBasic 5.73 unter LinuxMint 20.3 und PureBasic 5.72 unter Debian 10
Ich weiß nicht, ob das jetzt Betriebssystem speziefisch ist, ich verwende nur Linux. Folgendes Verhalten ist in beiden BS mit oder ohne Projekt dasselbe :
Aus einer *.pb habe ich Prozeduren in eine *.pbi ausgelagert. Die *.pbi ist mit XincludeFile “Dateiname.pbi“ in der *.pb eingebunden. Ich kann das Programm aus der IDE compilieren, starten und uneingeschränkt testen. Solange dabei keine auf die *.pbi ausgelagerte Prozedur aufgerufen wird, komme ich nach Schließen des Compilats auch wieder zur weiteren Bearbeitung in die IDE zurück. Wird jedoch beim Testen eine auf die *.pbi ausgelagerte Prozedur aufgerufen, stürzt PureBasic mit Beenden des Compilats ab. Die IDE wird geschlossen und ich muß PureBasic erneut aufrufen und alles wieder erneut öffnen um fortfahren zu können.
Was kann die Ursache sein ? (Falls Ihr weitere Infos benötigt, liefere ich diese gerne nach.)
Gruß iwelx
- NicTheQuick
- Ein Admin
- Beiträge: 8679
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten:
Re: Projekt- und Programmabsturz nach Benutzung auf *.pbi ausgelagerter Prozeduren im Compilat
Das ist merkwürdig. Ich nutze auch ausschließlich Linux (Ubuntu 21.10), aber das ist mir noch nicht passiert. Kannst du die IDE mal aus dem Terminal heraus starten? Kommen da irgendwelche Fehlermeldungen?
Insgesamt ergibt es allerdings keinen Sinn. Der Compiler ist unabhängig von der IDE und inkludiert die pbi-Datei so oder so, egal ob die Procedure darin aufgerufen wird oder nicht. Der Compiler muss die Datei ja trotzdem analysieren.
Kannst du das ganze in kleinerer Form nachstellen, sodass man es mal versuchen kann nachzuvollziehen?
Insgesamt ergibt es allerdings keinen Sinn. Der Compiler ist unabhängig von der IDE und inkludiert die pbi-Datei so oder so, egal ob die Procedure darin aufgerufen wird oder nicht. Der Compiler muss die Datei ja trotzdem analysieren.
Kannst du das ganze in kleinerer Form nachstellen, sodass man es mal versuchen kann nachzuvollziehen?
Re: Projekt- und Programmabsturz nach Benutzung auf *.pbi ausgelagerter Prozeduren im Compilat
An welcher Stelle bindest du *.pbi in deine Hauptdatei ein?
Kann es sein das die Prozeduren in deiner *pbi bestimmte Dinge aus deiner *.pb Datei benötigen, die es aber nicht in der *.pbi gibt.
Verwendest du Module in deiner *.pbi?
Ich verwende auch in Hauptdateien (*.pb) teilweise bis zu 6 verschiedene *.pbi Dateien ohne Probleme unter Mac, Linux, Windows.
Kann es sein das die Prozeduren in deiner *pbi bestimmte Dinge aus deiner *.pb Datei benötigen, die es aber nicht in der *.pbi gibt.
Verwendest du Module in deiner *.pbi?
Ich verwende auch in Hauptdateien (*.pb) teilweise bis zu 6 verschiedene *.pbi Dateien ohne Probleme unter Mac, Linux, Windows.
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat
Re: Projekt- und Programmabsturz nach Benutzung auf *.pbi ausgelagerter Prozeduren im Compilat
Danke Euch für die schnelle Antwort.
@NicTheQuick werde mal ein kleines Testprogramm dafür erstellen.
@ccode_new
1.) XInclude... steht in der Zeile vor den (derzeit nur auskommentierten) Prozeduren, die in die *.pbi kopiert wurden.
2.) Welche "Dinge" meinst Du ? diese Prozeduren verwenden derzeit nur globale und lokale Variablen.
3.) keine Module
@NicTheQuick werde mal ein kleines Testprogramm dafür erstellen.
@ccode_new
1.) XInclude... steht in der Zeile vor den (derzeit nur auskommentierten) Prozeduren, die in die *.pbi kopiert wurden.
2.) Welche "Dinge" meinst Du ? diese Prozeduren verwenden derzeit nur globale und lokale Variablen.
3.) keine Module
Re: Projekt- und Programmabsturz nach Benutzung auf *.pbi ausgelagerter Prozeduren im Compilat
@iwelx
Läuft die PureBasic-IDE den überhaupt ordentlich Stabil auf deinem Rechner mit Linux.
Kannst du mal testen ob die IDE abstürzt wenn du einfach einmal gaaanz viele verschieden PureBasic-Dateien in der IDE öffnest.
Schreibe alle deine ausgelagerten Funktionen einmal mit "Declare" an den Anfang deiner *pb-Datei.
Welche Debugger-Einstellung verwendest du? (Integriert / Eigenständig /nur Konsole)
Läuft die PureBasic-IDE den überhaupt ordentlich Stabil auf deinem Rechner mit Linux.
Kannst du mal testen ob die IDE abstürzt wenn du einfach einmal gaaanz viele verschieden PureBasic-Dateien in der IDE öffnest.
Schreibe alle deine ausgelagerten Funktionen einmal mit "Declare" an den Anfang deiner *pb-Datei.
Welche Debugger-Einstellung verwendest du? (Integriert / Eigenständig /nur Konsole)
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat
Re: Projekt- und Programmabsturz nach Benutzung auf *.pbi ausgelagerter Prozeduren im Compilat
Hinbekommen?
Funktioniert die Prozedurauslagerung?
Es wäre schön einen positiven Ausgangsbericht zu lesen.
Funktioniert die Prozedurauslagerung?
Es wäre schön einen positiven Ausgangsbericht zu lesen.
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat
Re: Projekt- und Programmabsturz nach Benutzung auf *.pbi ausgelagerter Prozeduren im Compilat
Hallo,
hier eine Info zum aktuellen Stand :
Durch sukzessive Auslagerung der einzelnen Prozeduren in eine *pbi konnte ich das Problem auf wenige Prozeduren eingrenzen. Es handelt sich dabei durchweg um Prozeduren, in denen ich mit Checkboxen und Options-Gadgets Einstellungen vornehme. Eine dieser Prozeduren habe ich in ein kleines Testprogramm kopiert und konnte damit auch die Abstürze reproduzieren. Schließlich konnte ich auch die Codebereiche ermitteln, die die Abstürze auslösen.
Es scheint , als ob Checkboxen und Options-Gadgets mehr Platz benötigen, als ich ihnen eingeräumt habe. Damit überschneiden sie sich, was möglicherweise zu diesen Abstürzen führt. Ich werde das für eine dieser Prozeduren nun mit dem Formdesigner anordnen und testen. Solche Abstürze hatte ich auch früher schon, aber selten. Warum sie regelmäßig auftreten, wenn ich diese Prozeduren in eine *.pbi auslagere ist mir noch nicht klar.
Bei allen diesen Prozeduren finden sich im Quellcode orangefarbene und mit einem Ausrufezeichen nach der Zeilennummer markierte Zeilen. Zur Bedeutung dieser Markierung (Warnung ?) habe ich bislang nichts gefunden.
Wenn die IDE nicht abgeschossen wird, finden sich im Fehlerbericht viele Warnungen der Art :
Die hier angegebenen Zeilennummern stimmen nicht mit den orange markierten Quellcodezeilen überein, z.T. handelt es sich sogar um Leerzeilen. Eine Erklärung für die hier ausgegebenen Texte habe ich auch noch nicht gefunden.
Wo finde ich Info‘s zu diesen Warnungen ?
Gruß, iwelx
hier eine Info zum aktuellen Stand :
Durch sukzessive Auslagerung der einzelnen Prozeduren in eine *pbi konnte ich das Problem auf wenige Prozeduren eingrenzen. Es handelt sich dabei durchweg um Prozeduren, in denen ich mit Checkboxen und Options-Gadgets Einstellungen vornehme. Eine dieser Prozeduren habe ich in ein kleines Testprogramm kopiert und konnte damit auch die Abstürze reproduzieren. Schließlich konnte ich auch die Codebereiche ermitteln, die die Abstürze auslösen.
Es scheint , als ob Checkboxen und Options-Gadgets mehr Platz benötigen, als ich ihnen eingeräumt habe. Damit überschneiden sie sich, was möglicherweise zu diesen Abstürzen führt. Ich werde das für eine dieser Prozeduren nun mit dem Formdesigner anordnen und testen. Solche Abstürze hatte ich auch früher schon, aber selten. Warum sie regelmäßig auftreten, wenn ich diese Prozeduren in eine *.pbi auslagere ist mir noch nicht klar.
Bei allen diesen Prozeduren finden sich im Quellcode orangefarbene und mit einem Ausrufezeichen nach der Zeilennummer markierte Zeilen. Zur Bedeutung dieser Markierung (Warnung ?) habe ich bislang nichts gefunden.
Wenn die IDE nicht abgeschossen wird, finden sich im Fehlerbericht viele Warnungen der Art :
Code: Alles auswählen
[WARNING] MeinProgramm.pb (Zeile: 3363)
[WARNING] GdkPixbuf (DEBUG): gdk_pixbuf_from_pixdata() called on:
[WARNING] MeinProgramm.pb (Zeile: 3363)
[WARNING] GdkPixbuf (DEBUG): Encoding raw
[WARNING] MeinProgramm.pb (Zeile: 3363)
[WARNING] GdkPixbuf (DEBUG): Dimensions: 14 x 14
[WARNING] MeinProgramm.pb (Zeile: 3363)
[WARNING] GdkPixbuf (DEBUG): Rowstride: 56, Length: 808
[WARNING] MeinProgramm.pb (Zeile: 3363)
[WARNING] GdkPixbuf (DEBUG): Copy pixels == false
Wo finde ich Info‘s zu diesen Warnungen ?
Gruß, iwelx
Re: Projekt- und Programmabsturz nach Benutzung auf *.pbi ausgelagerter Prozeduren im Compilat
Verwendest du Gdk funktionen?
Wenn ja sieht es eher nach falsche oder nicht geprüfte Pointers aus.
Wenn ja sieht es eher nach falsche oder nicht geprüfte Pointers aus.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: Projekt- und Programmabsturz nach Benutzung auf *.pbi ausgelagerter Prozeduren im Compilat
@mk-soft
Verwende hier weder gtk-Funktionen noch pointer. In den relevanten Codezeilen werden nur Gategets eingerichtet. Bei Auskommentieren dieser Zeilen ist der Fehler weg. Das scheint mir eindeutig zu sein.
Gruß, iwelx
Verwende hier weder gtk-Funktionen noch pointer. In den relevanten Codezeilen werden nur Gategets eingerichtet. Bei Auskommentieren dieser Zeilen ist der Fehler weg. Das scheint mir eindeutig zu sein.
Gruß, iwelx
Re: Projekt- und Programmabsturz nach Benutzung auf *.pbi ausgelagerter Prozeduren im Compilat
Ändere den Unterbau der grafische Benutzeroberfäche auf "gtk2", oder wenn möglich "qt".
(Subsytem)
(Subsytem)
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat