EInen Schritt weiter (Step over) mit F8 landet im Assemblerfenster
-
- Beiträge: 41
- Registriert: Fr 3. Mai 2019, 17:45
- OS, Lazarus, FPC: Win11 (L 3.6 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Saarland
EInen Schritt weiter (Step over) mit F8 landet im Assemblerfenster
Beim Testen eines Lazarusprogramms (IDE 2.0.10) tritt bei mir die Schwierigkeit auf, dass ich beim Durchlaufen des Quelltextes im Einzelschritt mit F8 manchmal bei bestimmten Zeilen statt in der nächsten in einem Assemblerfenster lande, aus dem ich nur sehr schwer wieder herauskomme. Ich kann zwar Haltepunkte dahinter setzen und mit F9 erreichen, ich kann auch Positionen hinter der Stelle mit F4 anspringen. Aber mit F8 bleibe ich regelmäßig an denselben Stellen hängen.
Manchmal ist es aber sehr nützlich, mit F8 durch die Programmzeilen durchzugehen. Leider ist es mir nicht gelungen, ein einfaches Beispiel zu erzeugen, wo das passiert.
Ich habe lediglich gesehen, dass das Thema vor mehr als 2 Jahren mal im englischen Lazarusforum angesprochen worden ist. Das scheint aber ohne Ergebnis geblieben zu sein.
Wenn inzwischen in dieser Sache nichts mehr passiert ist, werde ich wohl damit leben müssen. Vielleicht kennt aber jemand eine Lösung, das wäre prima.
Manchmal ist es aber sehr nützlich, mit F8 durch die Programmzeilen durchzugehen. Leider ist es mir nicht gelungen, ein einfaches Beispiel zu erzeugen, wo das passiert.
Ich habe lediglich gesehen, dass das Thema vor mehr als 2 Jahren mal im englischen Lazarusforum angesprochen worden ist. Das scheint aber ohne Ergebnis geblieben zu sein.
Wenn inzwischen in dieser Sache nichts mehr passiert ist, werde ich wohl damit leben müssen. Vielleicht kennt aber jemand eine Lösung, das wäre prima.
Viele Grüße
Gerold
Gerold
Re: EInen Schritt weiter (Step over) mit F8 landet im Assemblerfenster
Kenne ich...
Ich drücke einfach nicht mehr F8, sondern klicke mit der Maus... mit dem Erfolg, dass mir der Mauszeiger manchmal ein klitzekleines Stück nach links rutscht und ich den Prozess beende
Ich drücke einfach nicht mehr F8, sondern klicke mit der Maus... mit dem Erfolg, dass mir der Mauszeiger manchmal ein klitzekleines Stück nach links rutscht und ich den Prozess beende

Gruß, Michael
-
- Beiträge: 41
- Registriert: Fr 3. Mai 2019, 17:45
- OS, Lazarus, FPC: Win11 (L 3.6 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Saarland
Re: EInen Schritt weiter (Step over) mit F8 landet im Assemblerfenster
Vielen Dank für den Tipp. Ich werde das dann auch so machen.
Aber, ich trau mich fast nicht, es zu sagen, bei mir sind diese kleinen Symbole nicht vorhanden, und ich hab mir schon einen Wolf gesucht, sie wieder in meine Symbolleiste zu bekommen.
Sicher fehlt mir nur ein kleiner Hinweis.
Aber, ich trau mich fast nicht, es zu sagen, bei mir sind diese kleinen Symbole nicht vorhanden, und ich hab mir schon einen Wolf gesucht, sie wieder in meine Symbolleiste zu bekommen.

Sicher fehlt mir nur ein kleiner Hinweis.

Viele Grüße
Gerold
Gerold
Re: EInen Schritt weiter (Step over) mit F8 landet im Assemblerfenster
rechte Maustaste auf Iconbar -> Einstellungen
Gruß, Michael
-
- Beiträge: 41
- Registriert: Fr 3. Mai 2019, 17:45
- OS, Lazarus, FPC: Win11 (L 3.6 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Saarland
Re: EInen Schritt weiter (Step over) mit F8 landet im Assemblerfenster
Tatsächlich, das Leben kann so "einfach" sein!
Du hast mir sehr geholfen. Vielen Dank.

Du hast mir sehr geholfen. Vielen Dank.
Viele Grüße
Gerold
Gerold
-
- Beiträge: 586
- Registriert: Mi 25. Mär 2009, 21:12
- OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
- CPU-Target: mostly 32 bit
Re: EInen Schritt weiter (Step over) mit F8 landet im Assemblerfenster
Der Button und die Taste sollten 100% das gleiche tun.
Falls das wirklich nicht der Fall ist, brauche ich mehr Info.
Es gibt ein bekanntes Problem, dass beim "step over" in eine Procedure gesprungen wird (und ggf das Asm Window öffnet).
Tools > Optionen > Debugger. Dort im Property Grid: "FixIncorrectStepOver" aktivieren.
Das sollte helfen.
Falls das wirklich nicht der Fall ist, brauche ich mehr Info.
Es gibt ein bekanntes Problem, dass beim "step over" in eine Procedure gesprungen wird (und ggf das Asm Window öffnet).
Tools > Optionen > Debugger. Dort im Property Grid: "FixIncorrectStepOver" aktivieren.
Das sollte helfen.
Re: EInen Schritt weiter (Step over) mit F8 landet im Assemblerfenster
Danke Martin, kannte ich noch nicht!
Gruß, Michael
-
- Beiträge: 41
- Registriert: Fr 3. Mai 2019, 17:45
- OS, Lazarus, FPC: Win11 (L 3.6 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Saarland
Re: EInen Schritt weiter (Step over) mit F8 landet im Assemblerfenster
Jetzt kommen wir also zum Kern der Sache.
"FixIncorrectStepOver" aktiviert löst tatsächlich das Problem. Ich habe nochmals getestet: Die Taste F8 und der Mausklick landen beide ohne den Fix an kritischen Stellen im Assemblerfenster. Das scheint mit dem Aufruf von bestimmten Funktionen zusammenzuhängen. Mit Fix läuft es schön durch, allerdings muss ich die Taste F8 an diesen Stellen zweimal drücken.
Jedenfalls: EIn nerviges Problem ist endgültig gelöst. Vielen Dank an alle freundlichen Helfer.
"FixIncorrectStepOver" aktiviert löst tatsächlich das Problem. Ich habe nochmals getestet: Die Taste F8 und der Mausklick landen beide ohne den Fix an kritischen Stellen im Assemblerfenster. Das scheint mit dem Aufruf von bestimmten Funktionen zusammenzuhängen. Mit Fix läuft es schön durch, allerdings muss ich die Taste F8 an diesen Stellen zweimal drücken.
Jedenfalls: EIn nerviges Problem ist endgültig gelöst. Vielen Dank an alle freundlichen Helfer.
Viele Grüße
Gerold
Gerold
-
- Beiträge: 586
- Registriert: Mi 25. Mär 2009, 21:12
- OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
- CPU-Target: mostly 32 bit
Re: EInen Schritt weiter (Step over) mit F8 landet im Assemblerfenster
Das doppelte F8 hängt davon ob was genau in der Zeile steht.
Der fix macht ein "step out", das endet hinter der "call 0x....." asm Instruktion. Für procedures kann das die nächste Zeile sein. Für functions nicht immer.
---
Schlechte Nachrichten..... https://bugs.freepascal.org/view.php?id=37658
Stepping in generics kann ebenfalls ins asm Window gehen. Weil die von FPC eingetragene Datei nicht in dem angegebenen Ordner existiert.
Der fix macht ein "step out", das endet hinter der "call 0x....." asm Instruktion. Für procedures kann das die nächste Zeile sein. Für functions nicht immer.
---
Schlechte Nachrichten..... https://bugs.freepascal.org/view.php?id=37658
Stepping in generics kann ebenfalls ins asm Window gehen. Weil die von FPC eingetragene Datei nicht in dem angegebenen Ordner existiert.