Mark Morgan Lloyd wrote:
Both SPARC and ARM now expand \t in the assembler window. I've still got
a problem on ARM (i.e. Lazarus running on ARM, not a cross-compiler)
where trying to display the assembler window when at a breakpoint causes
the program to run, things are fine if the window is open before the
program is started.
More details as below. Starting with the assembler window not displayed,
and running to a breakpoint in the source window:
<< TCmdLineDebugger.ReadLn "(gdb) "
>> TCmdLineDebugger.SendCmdLn "-stack-list-frames 0 2"
<< TCmdLineDebugger.ReadLn
"^done,stack=[frame={level="0",addr="0x00083be0",func="MOONPHASE_init",file="moonphase.pas",fullname="/usr/local/src/heavywethers/trunk/moonphase.pas",line="1002"},frame={level="1",addr="0x00037d90",fu"
.(269)..
"n",file="HeavyWethers.lpr",fullname="/usr/local/src/heavywethers/trunk/HeavyWethers.lpr",line="40"}]"
<< TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Pause
Executing (Recurse-Count=0) queued= 0 CmdPrior=1 CmdMinRunLvl=-1 :
"TGDBMIDebuggerCommandLocals:" State=Pause PauseWaitState=0
>> TCmdLineDebugger.SendCmdLn "-stack-list-arguments 1 0 0"
<< TCmdLineDebugger.ReadLn "^done,stack-args=[frame={level="0",args=[]}]"
<< TCmdLineDebugger.ReadLn "(gdb) "
>> TCmdLineDebugger.SendCmdLn "-stack-list-locals 1"
<< TCmdLineDebugger.ReadLn "^done,locals=[]"
<< TCmdLineDebugger.ReadLn "(gdb) "
Exec done
Leaving Queue with count: 0 Recurse-Count=0 State=Pause
########### Now sitting on breakpoint in source window.
########### View -> Debug windows -> Assembler
########### Program runs without stopping.
########### At program's login dialogue tell it to abort.
INFO: TDBGDisassembler.FindRange: Address not found 539616
wanted-before=5 wanted-after=22 in map with count=0
Executing (Recurse-Count=0) queued= 0 CmdPrior=30 CmdMinRunLvl=-1 :
"TGDBMIDebuggerCommandDisassembe: FromAddr=539616 ToAddr=539616
LinesBefore=5 LinesAfter=22" State=Pause PauseWaitState=0
>> TCmdLineDebugger.SendCmdLn "-data-disassemble -s 539575 -e 539576
-- 0"
<< TCmdLineDebugger.ReadLn ""
[WARNING] TGDBMIDebugger: ExecuteCommand "-data-disassemble -s
539575 -e 539576 -- 0" failed.
INFO: TDBGDisassembler.Clear: map had count=0
Canceling: "TGDBMIDebuggerCommandDisassembe: FromAddr=539616
ToAddr=539616 LinesBefore=5 LinesAfter=22"
(lazarus:1183): Gtk-CRITICAL **: gtk_text_view_scroll_to_iter: assertion
`yalign >= 0.0 && yalign <= 1.0' failed
########### Now have IDE "Debugger error ...
########### The GDB process is no longer running" box.
###########
########### The GDB command:
########### "-data-disassemble -s 539575 -e 539576 -- 0"
########### did not return any result.
r32281 2.4.4 gdb 7.0.1-debian
Restarting IDE, displaying assembler window and running to breakpoint
(marked below with > at start of line):
moonphase.pas:1001 Assert(test_jDayToSecs);
00083BB4 84fcffeb bl 0x82dcc
<TEST_JDAYTOSECS>
00083BB8 000050e3 cmp r0, #0
00083BBC 0700001a bne 0x83be0
<MOONPHASE_init+332>
00083BC0 0b30a0e1 mov r3, r11
00083BC4 032ca0e3 mov r2, #768 ; 0x300
00083BC8 e92082e3 orr r2, r2, #233 ; 0xe9
00083BCC f8009fe5 ldr r0, [pc, #248] ;
0x83ccc <MOONPHASE_init+568>
00083BD0 0010a0e1 mov r1, r0
00083BD4 f4409fe5 ldr r4, [pc, #244] ;
0x83cd0 <MOONPHASE_init+572>
00083BD8 0400a0e1 mov r0, r4
00083BDC acd2feeb bl 0x38694 <fpc_assert>
moonphase.pas:1002 Assert(test_jYear);
> 00083BE0 b1fcffeb bl 0x82eac <TEST_JYEAR>
00083BE4 000050e3 cmp r0, #0
00083BE8 0700001a bne 0x83c0c
<MOONPHASE_init+376>
00083BEC 0b30a0e1 mov r3, r11
00083BF0 032ca0e3 mov r2, #768 ; 0x300
00083BF4 ea2082e3 orr r2, r2, #234 ; 0xea
00083BF8 cc009fe5 ldr r0, [pc, #204] ;
0x83ccc <MOONPHASE_init+568>
00083BFC 0010a0e1 mov r1, r0
00083C00 c8409fe5 ldr r4, [pc, #200] ;
0x83cd0 <MOONPHASE_init+572>
00083C04 0400a0e1 mov r0, r4
00083C08 a1d2feeb bl 0x38694 <fpc_assert>
moonphase.pas:1008 Assert(test_Phase);
I've saved that file in case you want a copy by e.g. direct mail.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus