[Lldb-commits] [lldb] Fix dap stacktrace perf issue (PR #104874)

Greg Clayton via lldb-commits lldb-commits at lists.llvm.org
Wed Aug 21 12:43:00 PDT 2024


================
@@ -3091,17 +3093,20 @@ void request_stackTrace(const llvm::json::Object &request) {
     // This will always return an invalid thread when
     // libBacktraceRecording.dylib is not loaded or if there is no extended
     // backtrace.
-    lldb::SBThread queue_backtrace_thread =
-        thread.GetExtendedBacktraceThread("libdispatch");
+    lldb::SBThread queue_backtrace_thread;
+    if (g_dap.enable_display_extended_backtrace)
+      queue_backtrace_thread = thread.GetExtendedBacktraceThread("libdispatch");
----------------
clayborg wrote:

Running an expression every time we stop is not a great thing to do and this is what is happening right now. Are we running one expression for every thread?

https://github.com/llvm/llvm-project/pull/104874


More information about the lldb-commits mailing list