Hallo,
ich möchte (das erste Mal) eine Multithreading Anwendung debuggen. Unter Linux gibt es ja das bekannte Problem, dass sich der X-Server dabei aufhängt. Mein Problem ist, dass ich hier unter Debian Lenny es nicht hinbekomme eine zweite X-Instanz zum Laufen zu bringen, vielleicht könnt ihr mir dabei helfen.
Ein neues Terminal ist für mich eher die zweite Wahl, da ich dazu erstmal den ATI-Treiber installieren (kompilieren) müsste, damit sich nicht alles in Anzeigefehler verwandelt. Ich kann zwar ein neues Terminal mit X und gdm starten, nach Eingabe der Anmeldeinformationen fliege ich aber wieder zurück auf mein erstes X-Display.
Im FreePascal-Wiki wird auch die Möglichkeit mit Xnest den X-Server in einem Fenster darzustellen angesprochen (gefällt mir eigentlich ganz gut). Das Problem ist, mit dem aufgeführten Befehl "Xnest :1 -ac" komme ich wirklich nur zu einem X-Server in einem Fenster. So kann ich zwar schon debuggen, ein Window-Manager wäre aber ganz nett (nicht nur aus optischen Gründen). Wie bekomm ich da GNOME/Metacity rein?
Zweite Variante wäre "gdmflexiserver --xnest" mit dem man sich in einem Fenster neu anmelden kann. Nur kann ich mich dort nicht ein zweites Mal anmelden, d.h. nach Eingabe der richtigen Informationen (usr/pwd) springt die Eingabemaske einfach zurück zum Benutzernamen). Ist das ein Bug oder ein Feature?
Xnest für multithread debug
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Xnest für multithread debug
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Xnest für multithread debug
???Socke hat geschrieben:Unter Linux gibt es ja das bekannte Problem, dass sich der X-Server dabei aufhängt.
Ich habe noch nie davon gehört, dass sich der X-Server durch korrekt programmierte Multithreadprogramme aufhängt. Liegt da vielleicht ein Irrtum vor?
Re: Xnest für multithread debug
Steht hier so geschrieben:
Ich kann mich allerdings nicht daran erinnern, dass mir das jemals passiert ist.
http://wiki.lazarus.freepascal.org/Mult ... rial#Linux" onclick="window.open(this.href);return false;If you try to debug a multithreaded application on Linux, you will have one big problem: the X server will hang.
Ich kann mich allerdings nicht daran erinnern, dass mir das jemals passiert ist.
-
- Lazarusforum e. V.
- Beiträge: 2808
- Registriert: Fr 22. Sep 2006, 10:38
- OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
- Wohnort: Hessen
- Kontaktdaten:
Re: Xnest für multithread debug
Geht mir genauso... ... ev. ist der Wiki-Eintrag nicht mehr aktuell und kann geändert werden?theo hat geschrieben:Ich kann mich allerdings nicht daran erinnern, dass mir das jemals passiert ist.
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Xnest für multithread debug
Ich hab da ein paar verschiedene Erfahrungen:Euklid hat geschrieben:Geht mir genauso... ... ev. ist der Wiki-Eintrag nicht mehr aktuell und kann geändert werden?theo hat geschrieben:Ich kann mich allerdings nicht daran erinnern, dass mir das jemals passiert ist.
Beim ersten Mal hat alles wunderbar geklappt; ich hab aber nicht das Fenster angeklickt, deswegen hatte ich mich auch gefragt, ob das noch aktuell ist.
Beim zweiten Versuch hab ich dann mit der Maus auch mal das Fenster berührt und bisschen später ging nichts mehr (außer Strg+Alt+Backspace).
Ich versuchs nochmal zu reproduzieren.
Wenn es an falsch programmierten Multithreading meinerseits liegt, ist das natürlich auch möglich; ist schließlich erst mein zweiter Versuch, aber der erste, der auch funktioniert.
Edit: Den X-Server einzufrieren, habe ich nicht noch einmal geschafft. Nur ist es normal, dass die Fenster während des Debuggens eines Threads (im Thread angehalten) nicht neu gezeichnet werden? Schein so, als ob der GDB den ganzen Prozess anhält.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Xnest für multithread debug
Das ist für die Fenster der Anwendung normal. Oder meinst du Lazarus Fenster?Socke hat geschrieben: Nur ist es normal, dass die Fenster während des Debuggens eines Threads (im Thread angehalten) nicht neu gezeichnet werden? Schein so, als ob der GDB den ganzen Prozess anhält.
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Xnest für multithread debug
Ich meine die Fenster der Anwendung; also alles normal. Sieht so aus als hätte ich alles richtig gemacht.mse hat geschrieben:Das ist für die Fenster der Anwendung normal. Oder meinst du Lazarus Fenster?Socke hat geschrieben: Nur ist es normal, dass die Fenster während des Debuggens eines Threads (im Thread angehalten) nicht neu gezeichnet werden? Schein so, als ob der GDB den ganzen Prozess anhält.
Vielleicht sollte man die Wikis dann dahingehen ändern, dass derzeit alles bestens funktioniert, aber falls mal was auftritt ... (Edit: habs gerade selbst getan)
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein