![]() |
Debuggen = System hängt
Hi,
ich will ein Programm schreiben, dass ich 1. für Windows und Linux compilieren kann und das 2. Threads verwendet. Anfangen tue ich erstmal mit der Linux-Variante - und da bekomm ich eine Exception ![]() Nun denk ich mir, guckste mal wo genau die herkommt, also Breakpoint rein (in die Execute von dem Thread) und durchsteppen. Nach ein paar Steps bleibt es immer hängen. Ich kann nur noch den Mauszeiger bewegen, aber ich kann klicken wie ich will, nichts passiert, auch wenn ich außerhalb von Lazarus klicke. Ich kann auf der Tastatur drücken, was ich will. Strg+Alt+Rück bzw. Strg+Alt+Entf helfen auch nicht, mir bleibt anscheinend nichts anderes mehr übrig als der Reset-Knopf. Und das immer kurze Zeit nachdem ich den Thread debuggen angefangen habe. Er steht nicht immer an der gleichen Codestelle, daran liegts wohl also nicht. Versionen: Lazarus 0.9.26-4 (i386-linux-gtk) Ubuntu 9.04 / Linux 2.6.28-14-generic (alles auf dem Stand wie es der Paketmenager gerade für aktuell hält)) [edit] Ergänzung: Starte ich das Programm in gdb dann meldet dieser keine Exception und es scheint auch soweit es gerade läuft zu klappen. Ich dachte Lazarus verwendet gdb als Debugger??? Ist da was falsch konfiguriert? [/edit] [edit=2] Wenn ich in einer Konsole gdb mit dem Programm geöffnet lasse (auch ohne es dort auszuführen) kommt es gar nicht mehr zu der SIGFPE??? [/edit] [edit=3] Doch, gerade eben (direkt über gtk) schon, laut Stacktrace beim Setzen von Progressbar.Max aus dem Synchronize in dem Thread, in irgend was vom gtk. Und des öfteren kam irgendwo in einem ProgressBar Code ein Fehler den X11 gemeldet hat. Also ursprüngliches Problem zumindest soweit gelöst: Ich weiß, woher die Exception kommt, die ProgressBar von Lazarus (oder das Synchronize?) ist buggy. Nur warum ich nicht per Lazarus debuggen kann ist immer noch offen. [/edit] Gruß Felix |
Re: Debuggen = System hängt
Wiki lesen.
Debugging in Threads ist nicht so toll: ![]() |
Re: Debuggen = System hängt
Hi,
was mich irritiert ist das die Tastenkombinationen nicht geklappt haben. Soll Strg+Alt+Rück nicht gerade den X-Server neu starten? Und wenn ich Strg+Alt+Entf drücke fährt er herunter und startet neu, was auch nicht passiert ist. Ich werd dabei bleiben und gdb zum debuggen benutzen. Gruß Felix |
Re: Debuggen = System hängt
Zitat:
Du musst in der xorg.conf folgendes hinzufügen:
Code:
Alternativ kannst du in deiner xinitrc "setxkbmap -option terminate:ctrl_alt_bksp" einfügen.
Section "ServerFlags"
Option "DontZap" "false" EndSection Ersteres funktioniert bei mir nicht, aber bei nem Kommilitonen, letzteres hab ich noch nicht getestet. Zitat:
Gruß, Sven |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz