[Lldb-commits] [lldb] [lldb-dap] Use protocol types for exceptioninfo (PR #165858)
David Spickett via lldb-commits
lldb-commits at lists.llvm.org
Wed Nov 5 05:59:12 PST 2025
DavidSpickett wrote:
Looks fine up to the point it's inserted. Added some logging:
```
diff --git a/lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp b/lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
index e207aad2167d..ee1bfc503cb0 100644
--- a/lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
+++ b/lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
@@ -16,6 +16,9 @@
#include "llvm/Support/JSON.h"
#include <utility>
+#include <iostream>
+#include <fstream>
+
using namespace llvm;
// The 'env' field is either an object as a map of strings or as an array of
@@ -635,8 +638,18 @@ json::Value toJSON(const ExceptionInfoResponseBody &ERB) {
json::Object result{{"exceptionId", ERB.exceptionId},
{"breakMode", ERB.breakMode}};
- if (!ERB.description.empty())
+ if (!ERB.description.empty()) {
+ std::ofstream outFile("/tmp/daplog");
+
+ outFile << "description: \"" << ERB.description << "\"\n";
+ outFile << "length: " << ERB.description.size() << "\n";
+ outFile << "description via c_str: \"" << ERB.description.c_str() << "\"\n";
+ outFile << "length via c_str: " << strlen(ERB.description.c_str()) << "\n";
+
+ outFile.close();
+
result.insert({"description", ERB.description.c_str()});
+ }
if (ERB.details.has_value())
result.insert({"details", *ERB.details});
```
And got:
```
description: "signal SIGABRT"
length: 14
description via c_str: "signal SIGABRT"
length via c_str: 14
```
https://github.com/llvm/llvm-project/pull/165858
More information about the lldb-commits
mailing list