[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 

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 
obviously the ^ has to go....

Also need to find why it breaks:
 >> TCmdLineDebugger.SendCmdLn "-data-evaluate-expression 
<< 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 
<< TCmdLineDebugger.ReadLn "^done,value="0x410821 'Exception'""
<< TCmdLineDebugger.ReadLn "(gdb) "


More information about the fpc-devel mailing list