[fpc-pascal] FpDebug hands-on: AnsiStrings
Joost van der Sluis
joost at cnoc.nl
Thu May 21 17:34:29 CEST 2020
Op 21-05-2020 om 17:29 schreef Joost van der Sluis:
> Op 20-05-2020 om 20:48 schreef Martin Frb:
>> Ok, here are some of my ideas/hopes/dreams/wishes for the IDE....
>> They are all "ideas only", with on knowledge of when/if they may be done.
>
> Ok, clear. Thanks again for the info. I think we can conclude that most
> parts are there. It only needs some polishing. Except for the threading
> and smoothness of the debugging-experience in Lazarus. There we have
> some work to do...
>
> Now, a hands-on example. We can discuss the theory later on again.
>
> I've added codepage-support for ansistrings, compiled with -gw3. This is
> done in the TFpValueDwarfV3FreePascalString class, which does the heavy
> work regarding the formatting of strings. Although there is also some
> code in TFpDebugDebugger.EvaluateExpression and probably other places
> that change the formatting of string-values.
>
> So I've made my change in TFpValueDwarfV3FreePascalString, but I don't
> know if this is the right place. After all, it is about formatting, and
> this class is related to the Dwarf-debug info. On the other hand. I do
> understand why this logic in implemented here. This is *the* place where
> all the relevant information is present.
>
> But that the design is problematic can be seen in a comment in the file:
>
> // TODO: XXXXX Dynamic max limit
>
> This seems an easy task, but it is not. TFpValueDwarfV3FreePascalString
> is not bound to the GUI or does not have formatting-settings. But it is
> the place where the formatting takes place! But adding a
> formatting-setting (like a max-length for strings) at this location
> would be really strange.
>
> I see two solutions: Besides the AsString property we could add a
> GetAsString procedure with some parameters on how to format the string.
> Maybe the easiest at this moment, and this morning I though it was a
> good idea. (Note that I want to add more stuff, like function to
> retrieve the code-page, and the raw-data)
>
> But then again, maybe the other solution, to split this formatting-logic
> into another class might be better...
>
> I'll try if I can split the logic. If doable, that might be better.
>
> (Still a lot of theory, though)
>
> Regards,
>
> Joost.
>
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
More information about the fpc-pascal
mailing list