This is how gdb formats it...
Gdb has no concept for a Pascal string. So this is either a pchar or array of char (depending on fpc version, and dwarf version used).
1)
Since pchar is a pointer, gdb starts with the address that is stored in the pointer.
The problem is, that even if the IDE would want to do something about it, using gdb there is no way to find out if it is a string.
(In fact, there is no such info in dwarf)
and a pchar might want to include the address. (ideally as an option, but that sort of fine-tuning is still a good bit away)
2)
Gdb does "shorten" repeating chars. (No idea, maybe there is a setting).
If this is in the IDE, the IDE does not currently undo the "repeats n times" (it mostly happens if there is trash at the end of a string)
Actually, in the callstack/threads/locals the IDE gives the verbatim gdb representation.
Only in watches does the IDE do some clean up...