[Lazarus] Single-stepping assembler

Martin lazarus at mfriebe.de
Sat Sep 3 15:53:24 CEST 2011


On 03/09/2011 14:26, Mark Morgan Lloyd wrote:
> Martin wrote:
>> If it does not work for you, please open the "Debug output" window 
>> from "view" / "debug windows" and check what command is sent to gdb.
>
> I've been looking at this on various platforms. I can't easily test 
> Windows due to an apparent build problem, but on Linux and Solaris:
...
> ARM (gtk2, emulated by Qemu, not susceptible to alignment errors): 
> Debugger access is erratic, works best if debug windows displayed 
> before program run. "Step into" (-> -exec-step-instruction) OK. "Step 
> Over" (-> -exec-next-instruction") OK. Assembler window shows tabs as \t.
Can you send a sample (from the debug output window) of what 
data-disassemble returns? So I can see some data with \t

> SPARC (gtk2): "Step into" (-> -exec-step-instruction) appears to step 
> over the next instruction if it's a call, however this appears to be 
> an artifact of the way calls work (i.e. with a mandatory nop 
> appended). "Step Over" (-> -exec-next-instruction") OK provided that 
> the above is taken into consideration. Assembler window shows tabs as \t.
Or send the output from this. Whichever , on e is enough.


If "-exec-step-instruction" is sent, then it is a gdb issue. (Could be 
debug-info encoding from fpc, if there is debug info for that. I don't 
know if gdb would use that for single-instruction steps

> Reliability in some cases might be improved by restarting Lazarus 
> after a debugging session, particularly if the target program hasn't 
> run to completion.
Try "Reset debugger" from menu "run". (Afaik, ctrl-F1)

Lazarus keeps gdb running. So if gdb is unstable, that may be an issue






More information about the Lazarus mailing list