Hi all, I've been working on getting debugging (dynamic) arrays working with fpc (free pascal compiler) Attached is the patch I have so far, including some tests. All pascal-arrays I tested work now, but it could very well be that I broke something else. I'll try to explain that I did... (patch is based on the vla-branch) Some changes are quite fundamental. Most important change is that the length of a variable is not longer only stored in the type struct, but also in the value struct. This is done because with Dwarf-debuginfo, the size of a variable can be dependent on some dwarf-blocks that ask for the evaluation of some data. So the size of a type-struct is not defined. You always need a data-address with it. That's the case in the value-struct. Problem is that there are all sort of hacks to work around this problem, and I tried to keep the code working with these hacks. One of the problems is that in some cases, the memory for the variable is already allocated before the object-address is set. In that case the 'old'-behaviour is used: the length of the struct-type. This length is also cached, so that when the value-length is asked again, the same value is returned as the first time. This is necessary because when memory of the given size is allocated, the given size can not change anymore offcourse. Further array-bounds are now also part of the value struct. And check_typedef is splitted into two parts, one part that searches for the real type, not the references. And the second part that evaluates and copies the data to a new struct. This is because I need the first part without the second on a few places. How do you think about these changes? Joost