In case string contains characters out of ASCII range, lldb-mi prints them as hexadecimal codes
The correct behaviour should be converting to UTF-8 instead. This patch fixes this making lldb-mi use
registered type summary providers, when they are available
Another problem is incorrect evaluation of some composite types, like std::string, which is also fixed in a way described above (using type summary provider)
Can you please change this to
bool
DoesPrintValue (lldb::SBValue value);
There is no need to pass the SBValue by reference since you're not actually altering it - and since SBValue wraps a (glorified) pointer to a ValueObject you're not really copying much data over. I don't see the need to classify the function as const (only IsValid() seems to be marked thusly in that file), and definitely no need for the SBValue to be a const