[Lazarus] Need testers for the a new debugger

C Western l at c-m-w.me.uk
Sun Jul 20 09:53:48 CEST 2014


On 19/07/14 22:26, Joost van der Sluis wrote:
>  > > Did you step directly into fpc_shortstr_SInt, or did you do a 'step
>  > > into', and did it eventually arrived at fpc_shortstr_SInt, because it
>  > > was the first procedure with debug-info?
>  > >
>  > > In the first case, a software-debug breakpoint is set, which is
> probably
>  > > not removed correctly. In that case the debuggee does SIGSEGV, only it
>  > > will only do this because the debugger did change it's code.
>  > >
>  > > In the second case, it's difficult to say what happens, since
>  > > hardware-breakpoints are used in that case.
>  > >
>  > > Do you get a message on the console like 'failed to write data at
> xxxxxx'?
>  > >
>  >
>  > Just tried it again - it doesn't seem to be consistent. The specific was
>  > stepping into a routine, and the problem seems to happen when stepping
>  > "into" at the first begin. Trying it just now the debugger step into in
>  > these circumstances - it now exits the routine. There are lots of
>  > "Failed to read data at address $10B70F08C08347F8 from processid 11321.
>  > Errcode: 5
>  > Failed to read data at address $E8000000C766D388 from processid 11321.
>  > Errcode: 5
>  > Failed to read data at address $E8000000C766D388 from processid 11321.
>  > Errcode: 5
>  > Failed to read data at address $E8000000C766D388 from processid 11321.
>  > Errcode: 5
>  > Failed to read data at address $E8000000C766D388 from processid 11321.
>  > Errcode: 5
>  > Failed to read data at address $E8000000C766D388 from processid 11321.
>  > Errcode: 5"
>
> Can you run Lazarus in a debugger (gdb, but in principle fpdebug is also
> possible ;) ) and set a breakpoint on fpdbglinuxclasses.pas:591. This is
> the line where the error above is printed. Then please try to reproduce
> the problem, and send me a backtrace when that breakpoint is hit.

The behavior "failed to read" messages seem rather random. I think they 
may only arise when I have the "locals" window open, in which case 
presumably read failures are to be expected. A backtrace (below) doesn't 
look that useful. The "step into" failing on a begin failure seems 
consistent, though it certainly doesn't happen on every begin.

Breakpoint 1, READWORDSIZE (parentfp=0x7fd9e359e9c0, ADR=0, AVAL=
     18446744073709551615) at fpdbglinuxclasses.pas:591
591	      log('Failed to read data at address '+FormatAddress(Adr)+' 
from processid '+inttostr(Process.ProcessID)+'. Errcode: '+inttostr(e));
(gdb) where
#0  READWORDSIZE (parentfp=0x7fd9e359e9c0, ADR=0, AVAL=18446744073709551615)
     at fpdbglinuxclasses.pas:591
#1  0x000000000140925f in READDATA (this=0x7fd9e1515040, AADRESS=1, ASIZE=
     2000, ADATA=0) at fpdbglinuxclasses.pas:614
#2  0x000000000149580a in DOREADDATA (this=0x7fd9f1d07e00)
     at fpdebugdebugger.pas:1443
#3  0x00000000014938e2 in EXECUTE (this=0x7fd9e8bb84e0)
     at fpdebugdebugger.pas:852
#4  0x0000000000718ad0 in THREADFUNC (PARAMETER=0x7fd9e8bb84e0)
     at ../unix/tthread.inc:109
#5  0x00007fd9e8bb84e0 in ?? ()
#6  0x00007fd9e154d000 in ?? ()
#7  0x00007fd9e8bb84e0 in ?? ()
#8  0x000000000064901c in SYSFREEMEM_FIXED (LOC_FREELISTS=0x20, PMC=
     0x7fd9e801fb00) at ../inc/heap.inc:1154
#9  0x00007fd9e359eaa8 in ?? ()
#10 0x0000000000000000 in ?? ()

Colin





More information about the Lazarus mailing list