What is the type of "TPack" ? record, class, object?
Does the stack window show **ALL** callers?
breaking inside locfexist :
$parentfp=0x7fffffffc4d0 $result=false LOCFEXIST=false RESULT=false
Yes I did a trivial test like that and it seems OK.
Maybe a key factor is that I'm using a non-Form unit file and these routines are within the code of that object which is created on the fly with init() , like :
pack:=Tpack.init(self,packreq);
Are they the same? YES.Good.
When I select the other stack as current I can see all the variable values I could not see before.
It seems the local just shows local function's own stuff ( by design allegedly ) but this seems to affect eval window and hover hint as well ( which you said was nothing to do with the debugger ? ) .
To debug software I need access to all the variables which are in scope at the time I'm executing a particular line of code, whether it is strictly the local variables or not.
How can I build lazarus source tree with -gw3 from the command line ?
Thanks.
I was wonder whether using components build with GDB and my code built with dwarf could be an issue.
So you would recommend sticking with the standard LCL build?
TGDBMIDebuggerBase.StartDebugging WorkingDir="~/laz/"
good point, the last reset caused by rebuild probably reset debugging to -g1
### TCodeToolManager.HandleException: [20170421200105] "identifier not found: bytecount" at Line=767 Col=14 in "~/laz/pack.pas"
OK, I just checked Project options ( that is what I was refering to ) . It is still set at -gw3 , I have seen this get reset sometimes , maybe when I had cleared out ~/.lazarus to get a clean start.
So I'm building with gw3 and you are not seeing the expected output :?
If that is a lazarus config rather than a project config it probably got scubbed when I cleaned out ~/.lazarus !
OK, some sanity has returned and I have a USEFUL debugger at last.
There does still seem to be some glitches on nested types.
cardstr:= cards[cardnum].cardwords[i];
If I hover variables to look at values, cards shows me a full array with expected content. cardnum shows me 1 but when I hover cardwords, it complains that it can't find cardnum ( which it just found ).
Interesting. It is basically the same except that it cannot watch and evaluate cardnum, which was found in the hover.
If I put pack.cardnum in watch and eval , they work. It seems like they are able to apply the with syntax to cards but not twice in the same line.
property cards:TcardPack Read Fcards; property cardnum:word Read wordcounter;
The debugger always uses the "current line"