-------- Original Message -------- > From: "Martin" <[email protected]> > > On 04/12/2012 01:54, David Emerson wrote: > > This error message has often befuddled me when debugging. > > I've got a dynamic array, usually a type that I've created, e.g. > > type longint_arr = array of longint > > I'm using the Watch List and want to inspect one of the elements of such an > > array, e.g. f_list[0]. But I get this error, which I guess comes from GDB. > > Is there any way I can coerce it into giving me f_list[0], or even > > f_list[1]? > > > > I would need a complete example.... > Also Laz/fpc version... > > Sometimes this message appears, if you declare an array without a type name. > So instead of > type TMyArray = array of integer; var Foo: TMyArray; > you do: > var Foo: array of integer; > > If the type of the element is named, then do > ^integer(Foo)[1] > Nested Array > ^^integer(Foo)[1][2] > > If it is a static array "array[3..5]" then the pointer type cast still > starts at index 0 (so you must subtract the low bound from all indices) > > It may also happen with nested arrays, and (unnamed (inline in "var" > declared) records) > var Foo: array of record ... end; > > You may also try switching between stabs and dwarf (project options / > /linking) >
Thanks much!! The first suggestion ^integer(foo)[1] works great! -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
