Dealing with non-standard arrays, strings

New user here thanks to Molly Rocket ;)

Very glad RemedyBG exists, I'm impressed by the speed and formatter features. Plus, the integration with the 10x Editor is a godsend for my setup. Good job, and thanks!

Here's an issue I have:

In our project, special container classes are used for arrays and strings (for memory safety if I understand correctly). In VS, those containers and string views behave "as you'd expect" in editing and in the debugger (tbh I'm not sure if that's thanks to plugins), so I was surprised they aren't being recognized as arrays and strings by RemedyBG, not to mention the inability to leverage the all the cool formatter features.

Ar least I can access the underlying pointers as members variables, but that means I need to write an expression identifier.pointer, identifier.size just to see an array (and strings!) normally.

That is obviously quite cumbersome and not efficient. Worse if arrays and strings are inside an array -- since watch expressions can't be used on members, except through the use of the table formatter. The feature itself is awesome, but needing it just to inspect strings in array elements (in my case) creates quite a bit of friction. Certainly not a good workflow.

Now, I don't see this as a shortcoming of RemedyBG per se. But, I am wondering if there might be some way to streamline such workarounds that would be generically useful.

The question / idea / suggestion

is bascially having user-definable format specifiers, maybe by using some sort of macro expression and/or pseudo specifiers to "unpack" data types, like:

automatically format all objects of

<Type>

using the expression

<Type>.pointer_member, <Type>.uint_member

(effectively getting arr, count in this example)

What do you think?

It's a common request. This thread discuss some ideas.

Ah, good to know. Thanks.


Replying to mrmixer (#29243)