[Lazarus] tooltip debugger shows incorrect data (watches)

Graeme Geldenhuys graemeg.lists at gmail.com
Wed Oct 13 16:26:20 CEST 2010


Op 2010-10-13 16:11, Martin het geskryf:
> maybe you attach the "debug output" window content?
> 
> So someone can look into why the watches did not show anything...

FPC:      2.4.3
System:   Ubuntu Linux 10.04.1 64-bit
Lazarus:  latest svn

The local char variable is:   testvar


---------[ debug output window content ]----------------------
(gdb) 
<-gdb-set confirm off>
^done
(gdb) 
<-gdb-set new-console off>
^error,msg="No symbol table is loaded.  Use the \"file\" command."
(gdb) 
<-gdb-version>
~"GNU gdb (GDB) 7.1-ubuntu\n"
~"Copyright (C) 2010 Free Software Foundation, Inc.\n"
~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
~"This is free software: you are free to change and redistribute it.\n"
~"There is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"\n"
~"and \"show warranty\" for details.\n"
~"This GDB was configured as \"x86_64-linux-gnu\".\n"
~"For bug reporting instructions, please see:\n"
~"<http://www.gnu.org/software/gdb/bugs/>.\n"
^done
(gdb) 
<-gdb-version>
~"GNU gdb (GDB) 7.1-ubuntu\n"
~"Copyright (C) 2010 Free Software Foundation, Inc.\n"
~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
~"This is free software: you are free to change and redistribute it.\n"
~"There is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"\n"
~"and \"show warranty\" for details.\n"
~"This GDB was configured as \"x86_64-linux-gnu\".\n"
~"For bug reporting instructions, please see:\n"
~"<http://www.gnu.org/software/gdb/bugs/>.\n"
^done
(gdb) 
<-gdb-set env BOOKSHELF=/opt/FPC_Docs/inf/>
^done
(gdb) 
<-gdb-set env DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-f7vJ79V7T8,guid=8549b00c0344f0e2110ab80d4cb2ffd8>
^done
(gdb) 
<-gdb-set env DEFAULTS_PATH=/usr/share/gconf/gnome.default.path>
^done
(gdb) 
<-gdb-set env DESKTOP_SESSION=gnome>
^done
(gdb) 
<-gdb-set env DISPLAY=:0.0>
^done
(gdb) 
<-gdb-set env FPCHELP=rtl+fcl>
^done
(gdb) 
<-gdb-set env GDM_KEYBOARD_LAYOUT=us\tdvorak>
^done
(gdb) 
<-gdb-set env GDM_LANG=en_ZA.utf8>
^done
(gdb) 
<-gdb-set env GDMSESSION=gnome>
^done
(gdb) 
<-gdb-set env GNOME_DESKTOP_SESSION_ID=this-is-deprecated>
^done
(gdb) 
<-gdb-set env GNOME_KEYRING_CONTROL=/tmp/keyring-H22nDY>
^done
(gdb) 
<-gdb-set env GNOME_KEYRING_PID=1508>
^done
(gdb) 
<-gdb-set env GTK_MODULES=canberra-gtk-module>
^done
(gdb) 
<-gdb-set env HOME=/home/graemeg>
^done
(gdb) 
<-gdb-set env LANG=en_ZA.utf8>
^done
(gdb) 
<-gdb-set env LC_TIME=en_DK.UTF-8>
^done
(gdb) 
<-gdb-set env LIBGL_DRIVERS_PATH=/usr/lib/fglrx/dri:/usr/lib32/fglrx/dri>
^done
(gdb) 
<-gdb-set env LOGNAME=graemeg>
^done
(gdb) 
<-gdb-set env MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path>
^done
(gdb) 
<-gdb-set env ORBIT_SOCKETDIR=/tmp/orbit-graemeg>
^done
(gdb) 
<-gdb-set env PATH=/home/graemeg/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/fpc-2.4.3/x86_64-linux/bin:/home/graemeg/apps/wipfc>
^done
(gdb) 
<-gdb-set env PWD=/home/graemeg>
^done
(gdb) 
<-gdb-set env SESSION_MANAGER=local/saturn:@/tmp/.ICE-unix/1526,unix/saturn:/tmp/.ICE-unix/1526>
^done
(gdb) 
<-gdb-set env SHELL=/bin/bash>
^done
(gdb) 
<-gdb-set env SPEECHD_PORT=7560>
^done
(gdb) 
<-gdb-set env SSH_AGENT_PID=1566>
^done
(gdb) 
<-gdb-set env SSH_AUTH_SOCK=/tmp/keyring-H22nDY/ssh>
^done
(gdb) 
<-gdb-set env USER=graemeg>
^done
(gdb) 
<-gdb-set env USERNAME=graemeg>
^done
(gdb) 
<-gdb-set env WIPFC=/home/graemeg/apps/wipfc/>
^done
(gdb) 
<-gdb-set env XAUTHORITY=/var/run/gdm/auth-for-graemeg-L8wBl0/database>
^done
(gdb) 
<-gdb-set env XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg>
^done
(gdb) 
<-gdb-set env XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/>
^done
(gdb) 
<-gdb-set env XDG_SESSION_COOKIE=5da05c10bd2c5ebb862261674bf650ed-1286799319.742014-1018818784>
^done
(gdb) 
<-file-exec-and-symbols "/media/flash16gig/programming/fpgui/prototypes/miglayout/unittests/fpcunit_miglayout">
^done
(gdb) 
<-environment-cd .>
^done
(gdb) 
<-environment-cd "/media/flash16gig/programming/fpgui/prototypes/miglayout/unittests/">
^done
(gdb) 
<-data-evaluate-expression FPC_THREADVAR_RELOCATE_PROC>
^error,msg="No symbol \"FPC_THREADVAR_RELOCATE_PROC\" in current context."
(gdb) 
<info functions FPC_CPUINIT>
&"info functions FPC_CPUINIT\n"
~"All functions matching regular expression \"FPC_CPUINIT\":\n"
~"\n"
~"Non-debugging symbols:\n"
~"0x0000000000400e98  SYSTEM_FPC_CPUINIT\n"
^done
(gdb) 
<-exec-arguments -a --format=plain>
^done
(gdb) 
<set width 50000>
&"set width 50000\n"
^done
(gdb) 
<-gdb-set language pascal>
^done
(gdb) 
<info address main>
&"info address main\n"
~"Symbol \"main\" is a function at address 0x4001a0.\n"
^done
(gdb) 
<-break-insert -t *4194720>
^done,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="0x00000000004001a0",func="main",file="fpcunit_miglayout.lpr",fullname="/media/flash16gig/programming/fpgui/prototypes/miglayout/unittests/fpcunit_miglayout.lpr",line="20",times="0",original-location="*4194720"}
(gdb) 
<ptype TObject>
&"ptype TObject\n"
~"type = ^TOBJECT = class \n"
~"end\n"
^done
(gdb) 
<info address FPC_RAISEEXCEPTION>
&"info address FPC_RAISEEXCEPTION\n"
~"Symbol \"FPC_RAISEEXCEPTION\" is at 0x4108b0 in a file compiled without debugging.\n"
^done
(gdb) 
<-break-insert *4262064>
^done,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x00000000004108b0",at="<fpc_raiseexception>",times="0",original-location="*4262064"}
(gdb) 
<info address FPC_BREAK_ERROR>
&"info address FPC_BREAK_ERROR\n"
~"Symbol \"FPC_BREAK_ERROR\" is at 0x4145d8 in a file compiled without debugging.\n"
^done
(gdb) 
<-break-insert *4277720>
^done,bkpt={number="3",type="breakpoint",disp="keep",enabled="y",addr="0x00000000004145d8",at="<SYSTEM_HANDLEERRORADDRFRAME$LONGINT$POINTER$POINTER>",times="0",original-location="*4277720"}
(gdb) 
<info address FPC_RUNERROR>
&"info address FPC_RUNERROR\n"
~"Symbol \"FPC_RUNERROR\" is at 0x414718 in a file compiled without debugging.\n"
^done
(gdb) 
<-break-insert *4278040>
^done,bkpt={number="4",type="breakpoint",disp="keep",enabled="y",addr="0x0000000000414718",at="<SYSTEM_RUNERROR$WORD>",times="0",original-location="*4278040"}
(gdb) 
<info file>
&"info file\n"
~"Symbols from \"/media/flash16gig/programming/fpgui/prototypes/miglayout/unittests/fpcunit_miglayout\".\n"
~"Local exec file:\n"
~"\t`/media/flash16gig/programming/fpgui/prototypes/miglayout/unittests/fpcunit_miglayout', file type elf64-x86-64.\n"
~"\tEntry point: 0x400140\n"
~"\t0x0000000000400120 - 0x0000000000400140 is .note.ABI-tag\n"
~"\t0x0000000000400140 - 0x000000000049ec10 is .text\n"
~"\t0x000000000069ec10 - 0x00000000006a1508 is .got\n"
~"\t0x00000000006a1508 - 0x00000000006a1520 is .got.plt\n"
~"\t0x00000000006a1520 - 0x00000000006ec280 is .data\n"
~"\t0x00000000006ec280 - 0x00000000006f1d80 is .bss\n"
^done
(gdb) 
<-break-insert -f foo>
&"Function \"foo\" not defined.\n"
^done,bkpt={number="5",type="breakpoint",disp="keep",enabled="y",addr="<PENDING>",pending="foo",times="0",original-location="foo"}
(gdb) 
<-break-delete 5>
^done
(gdb) 
<-exec-run>
=thread-group-created,id="16421"
=thread-created,id="1",group-id="16421"
^running
*running,thread-id="all"
(gdb) 
*stopped,reason="breakpoint-hit",disp="del",bkptno="1",frame={addr="0x00000000004001a0",func="main",args=[],file="fpcunit_miglayout.lpr",fullname="/media/flash16gig/programming/fpgui/prototypes/miglayout/unittests/fpcunit_miglayout.lpr",line="20"},thread-id="1",stopped-threads="all",core="1"
(gdb) 
<info program>
&"info program\n"
~"\tUsing the running image of child process 16421.\n"
~"Program stopped at 0x4001a0.\n"
~"It stopped at a breakpoint that has since been deleted.\n"
~"Type \"info stack\" or \"info registers\" for more information.\n"
^done
(gdb) 
<-break-insert -f gui_mig_constraintparser.pas:122>
^done,bkpt={number="6",type="breakpoint",disp="keep",enabled="y",addr="0x00000000004467a0",func="STARTSWITHLENIENT",file="../gui_mig_constraintparser.pas",fullname="/media/flash16gig/programming/fpgui/prototypes/miglayout/gui_mig_constraintparser.pas",line="122",times="0",original-location="gui_mig_constraintparser.pas:122"}
(gdb) 
<-break-enable 6>
^done
(gdb) 
<-exec-continue>
^running
*running,thread-id="all"
(gdb) 
*stopped,reason="breakpoint-hit",disp="keep",bkptno="6",frame={addr="0x00000000004467a0",func="STARTSWITHLENIENT",args=[{name="this",value="0x7ffff7ff6320"},{name="S",value="0x6b3680 'abczz'"},{name="MATCH",value="0x6b3668 'abcdef'"},{name="MINCHARS",value="3"},{name="ACCEPTTRAILING",value="true"}],file="../gui_mig_constraintparser.pas",fullname="/media/flash16gig/programming/fpgui/prototypes/miglayout/gui_mig_constraintparser.pas",line="122"},thread-id="1",stopped-threads="all",core="1"
(gdb) 
<-symbol-list-lines /media/flash16gig/programming/fpgui/prototypes/miglayout/gui_mig_constraintparser.pas>
^done,lines=[{pc="0x0000000000446070",line="37"},{pc="0x000000000044608a",line="37"},{pc="0x00000000004460e1",line="38"},{pc="0x00000000004460fe",line="40"},{pc="0x000000000044610b",line="43"},{pc="0x000000000044614a",line="44"},{pc="0x0000000000446167",line="45"},{pc="0x0000000000446187",line="46"},{pc="0x00000000004461f3",line="45"},{pc="0x00000000004461f8",line="47"},{pc="0x0000000000446201",line="51"},{pc="0x0000000000446233",line="53"},{pc="0x000000000044624b",line="54"},{pc="0x0000000000446258",line="57"},{pc="0x0000000000446268",line="58"},{pc="0x000000000044627c",line="60"},{pc="0x00000000004462dc",line="62"},{pc="0x00000000004462ec",line="63"},{pc="0x000000000044630a",line="65"},{pc="0x000000000044636a",line="67"},{pc="0x000000000044637a",line="68"},{pc="0x0000000000446398",line="51"},{pc="0x00000000004463a1",line="73"},{pc="0x00000000004463d3",line="75"},{pc="0x00000000004463eb",line="76"},{pc="0x00000000004463f8",line="79"},{pc="0x000000000044642c",line="80"},{pc="
0x0000000000446433",line="81"},{pc="0x000000000044643c",line="83"},{pc="0x0000000000446447",line="85"},{pc="0x0000000000446469",line="86"},{pc="0x0000000000446475",line="88"},{pc="0x00000000004464b3",line="89"},{pc="0x00000000004464c5",line="90"},{pc="0x00000000004464de",line="92"},{pc="0x00000000004464ec",line="93"},{pc="0x0000000000446506",line="100"},{pc="0x0000000000446570",line="99"},{pc="0x000000000044657a",line="100"},{pc="0x000000000044658c",line="99"},{pc="0x0000000000446596",line="100"},{pc="0x000000000044659d",line="99"},{pc="0x00000000004465a7",line="100"},{pc="0x00000000004465dd",line="99"},{pc="0x0000000000446657",line="73"},{pc="0x0000000000446660",line="104"},{pc="0x000000000044666e",line="105"},{pc="0x00000000004466dc",line="0"},{pc="0x00000000004466e0",line="108"},{pc="0x00000000004466f7",line="108"},{pc="0x0000000000446726",line="109"},{pc="0x0000000000446756",line="110"},{pc="0x0000000000446777",line="0"},{pc="0x0000000000446778",line="120"},{pc="0x0000000
000446797",line="121"},{pc="0x00000000004467a0",line="122"},{pc="0x00000000004467ae",line="124"},{pc="0x00000000004467b5",line="125"},{pc="0x00000000004467ba",line="128"},{pc="0x00000000004467c2",line="129"},{pc="0x00000000004467d2",line="131"},{pc="0x00000000004467e2",line="132"},{pc="0x00000000004467ec",line="134"},{pc="0x00000000004467f3",line="135"},{pc="0x00000000004467f8",line="138"},{pc="0x0000000000446808",line="139"},{pc="0x000000000044680f",line="140"},{pc="0x000000000044682f",line="142"},{pc="0x0000000000446834",line="143"},{pc="0x0000000000446837",line="142"},{pc="0x0000000000446869",line="145"},{pc="0x0000000000446893",line="147"},{pc="0x00000000004468c8",line="148"},{pc="0x00000000004468d0",line="150"},{pc="0x00000000004468d7",line="151"},{pc="0x00000000004468d9",line="153"},{pc="0x00000000004468dc",line="140"},{pc="0x00000000004468e5",line="155"},{pc="0x0000000000446908",line="156"},{pc="0x0000000000446910",line="158"},{pc="0x0000000000446917",line="159"},{pc="
0x0000000000446920",line="0"}]
(gdb) 
<-data-evaluate-expression testvar>
^done,value="97 'a'"
(gdb) 
<ptype testvar>
&"ptype testvar\n"
~"type = Char\n"
^done
(gdb) 
<-stack-list-frames 0 0>
^done,stack=[frame={level="0",addr="0x00000000004467a0",func="STARTSWITHLENIENT",file="../gui_mig_constraintparser.pas",fullname="/media/flash16gig/programming/fpgui/prototypes/miglayout/gui_mig_constraintparser.pas",line="122"}]
(gdb) 
<-data-evaluate-expression integer>
^error,msg="No symbol \"integer\" in current context."
(gdb) 
<-stack-info-frame>
^done,frame={level="0",addr="0x00000000004467a0",func="STARTSWITHLENIENT",file="../gui_mig_constraintparser.pas",fullname="/media/flash16gig/programming/fpgui/prototypes/miglayout/gui_mig_constraintparser.pas",line="122"}
(gdb) 
<-data-evaluate-expression parentfp>
^error,msg="No symbol \"parentfp\" in current context."
(gdb) 

--------------------------------------------------------------



Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net:8080/fpgui/






More information about the Lazarus mailing list