[Lldb-commits] [lldb] [lldb-server] Add accelerator plugin infrastructure for debugging hardware accelerators like gpus (PR #198907)
David Spickett via lldb-commits
lldb-commits at lists.llvm.org
Tue May 26 02:37:08 PDT 2026
================
@@ -45,6 +46,28 @@ class StreamGDBRemote : public StreamString {
/// Equivalent to PutEscapedBytes(str.data(), str.size());
int PutEscapedBytes(llvm::StringRef str);
+
+ template <class T> int PutAsJSON(const T &obj, bool hex_ascii) {
+ std::string json_string;
+ llvm::raw_string_ostream os(json_string);
+ os << llvm::json::Value(toJSON(obj));
+ if (hex_ascii)
+ return PutStringAsRawHex8(json_string);
+ return PutEscapedBytes(json_string.c_str(), json_string.size());
+ }
+
+ template <class T> int PutAsJSONArray(const std::vector<T> &array) {
+ std::string json_string;
+ llvm::raw_string_ostream os(json_string);
+ os << "[";
+ for (size_t i = 0; i < array.size(); ++i) {
+ if (i > 0)
+ os << ",";
----------------
DavidSpickett wrote:
This feels like llvm::join with more steps, see if you could use that.
Also there is llvm::json::array and I assume you could construct one of those from the vector and it would be easier to format. I assume, I could be wrong but formatting as an array seems like a thing we'd have already written.
https://github.com/llvm/llvm-project/pull/198907
More information about the lldb-commits
mailing list