================
@@ -987,6 +1005,20 @@ void Debugger::Clear() {
   //     static void Debugger::Destroy(lldb::DebuggerSP &debugger_sp);
   //     static void Debugger::Terminate();
   llvm::call_once(m_clear_once, [this]() {
+    lldb_private::telemetry::ScopeTelemetryCollector helper;
+    if (helper.TelemetryEnabled()) {
+      // TBD: We *may* have to send off the log BEFORE the ClearIOHanders()?
+      helper.RunAtScopeExit([&helper, this]() {
+        lldb_private::telemetry::TelemetryManager *manager =
+            lldb_private::telemetry::TelemetryManager::GetInstance();
+        lldb_private::telemetry::DebuggerInfo entry;
+        entry.debugger = this;
+        entry.exit_desc = {0, ""}; // If we are here, there was no error.
----------------
labath wrote:

Okay, but if we're not actually sending the crash reports upstream (which I 
think is the right choice), could we also avoid prescribing how a downstream 
implementation should represent those crashes. For example, someone might want 
to send the backtrace in a more structured form (list of addresses?) instead of 
a string. Fixed-size entries are a lot easier to handle in an async-signal 
context than a string (which basically cannot be used safely).

IOW, can we drop the `exit_desc` field from this struct?

https://github.com/llvm/llvm-project/pull/127696
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to