[fpc-devel] Dwarf3 and the encoding of classes

Martin fpc at mfriebe.de
Mon Jan 10 21:43:32 CET 2011


On 10/01/2011 20:26, Joost van der Sluis wrote:
> On Mon, 2011-01-10 at 01:12 +0000, Martin wrote:
>> On 03/01/2011 11:30, Joost van der Sluis wrote:
>>> I also promised to build a Windows-gdb binary with the latest Dwarf-3
>>> patches from the Archer-project. This can be downloaded here:
>>>
>>> http://www.lazarussupport.com/downloads/gdb_win32_fedora15_with_pascal_patches.zip
>>>
>> That one just crashed, when I tested with stabs
> Works here. Do you have an example program?

The latest version of my testcase.

Running the TTEstExceptionOne with
fpc 2.4.2 stabs
the above gdb

and other combinations too

-------------------
btw, does that version also include full support for all string types 
already?

did you see my question in the other mail? is -gw = dwarf2, or is there 
a diff between -gw and -gw2 ?

Is the decission on how classes are encoded (no pointer deref any 
longer) final, or still just consideration?
(if it is final, I need to fix, getting exception msg...
 >> TCmdLineDebugger.SendCmdLn "x/s ^Exception($eax)^.FMessage"
<< TCmdLineDebugger.ReadLn "&"x/s ^Exception($eax)^.FMessage\n""
<< TCmdLineDebugger.ReadLn "&"A syntax error in expression, near 
`FMessage'.\n""
obviously the ^ has to go....

Also need to find why it breaks:
 >> TCmdLineDebugger.SendCmdLn "-data-evaluate-expression 
^^shortstring(^POINTER($eax)^+12)^^"
<< TCmdLineDebugger.ReadLn "^error,msg="A syntax error in expression, 
near `shortstring(^POINTER($eax)^+12)^^'.""
   TGDBMIDebugger.ProcessResult Error: ,msg="A syntax error in 
expression, near `shortstring(^POINTER($eax)^+12)^^'."

but the alternative seems to work:
 >> TCmdLineDebugger.SendCmdLn "-data-evaluate-expression 
^char(^pointer(^POINTER($eax)^+12)^+1)"
<< TCmdLineDebugger.ReadLn "^done,value="0x410821 'Exception'""
<< TCmdLineDebugger.ReadLn "(gdb) "



Martin



More information about the fpc-devel mailing list