Well,
The integrated debugger is behaving irratically.
Today it will not stop when I try a "run to cursor", but today it will stop at a set breakpoint and even let me step through the code...
When I try run to cursor on a simple project (1 form, 1 memo, 1 button. In the onclick of the button i loop (1 to 3) to add lines to the memo) it runs straight through (not to) the code...
Here's the gdb output:
~"This GDB was configured as \"i686-pc-mingw32\".\n"
^done
[snip environment variables...]
<-file-exec-and-symbols "F:/Lazarus Projecten/debugtest.exe">
^done
(gdb)
<-environment-cd "F:/Lazarus Projecten/">
^done
(gdb)
<-data-evaluate-expression FPC_THREADVAR_RELOCATE_PROC>
^done,value="0x0"
(gdb)
<-gdb-set language pascal>
^done
(gdb)
<-break-insert -t main>
^done,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="$00401041",func="main",file="debugtest.lpr",line="11",times="0"}
(gdb)
<-break-insert FPC_RAISEEXCEPTION>
^done,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="$0040a34a",func="fpc_raiseexception",file="except.inc",line="180",times="0"}
(gdb)
<-break-insert FPC_BREAK_ERROR>
^done,bkpt={number="3",type="breakpoint",disp="keep",enabled="y",addr="$0040c7f2",func="HANDLEERRORADDRFRAME",file="system.inc",line="675",times="0"}
(gdb)
<-break-insert FPC_RUNERROR>
^done,bkpt={number="4",type="breakpoint",disp="keep",enabled="y",addr="$0040c8d6",func="RUNERROR",file="system.inc",line="711",times="0"}
(gdb)
<info file>
&"info file\n"
~"Symbols from \"F:/Lazarus Projecten/debugtest.exe\".\n"
~"Local exec file:\n"
~"\t`F:/Lazarus Projecten/debugtest.exe', file type pei-i386.\n"
~"\tEntry point: $40100c\n"
~"\t$00401000 - $00519420 is .text\n"
~"\t$0051a000 - $00592560 is .data\n"
~"\t$00593000 - $005a757e is .bss\n"
~"\t$005a8000 - $005aaf74 is .idata\n"
^done
(gdb)
<-exec-run>
^running
(gdb)
*stopped,thread-id="1",frame={addr="$00401041",func="main",args=[],file="debugtest.lpr",line="11"}
(gdb)
<info program>
&"info program\n"
~"\tUsing the running image of child thread -984531.0xfff0f791.\n"
~"Program stopped at $401041.\n"
~"It stopped at a breakpoint that has since been deleted.\n"
~"Type \"info stack\" or \"info registers\" for more information.\n"
^done
(gdb)
<-exec-until udebugtest.pas:35>
^running
(gdb)
*stopped,reason="exited-normally"
(gdb)
<-break-delete 2>
^done
(gdb)
<-break-delete 3>
^done
(gdb)
<-break-delete 4>
^done
(gdb)
<-file-exec-and-symbols >
^done
(gdb)
Can you shed some light over it?
Bart