================
@@ -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");
----------------
walter-erquinigo wrote:
According the Jeffrey's profiling, the penalty is up to 1 second in certain
targets. I think that's a very reasonable wait time if that can improve the
debugger experience, as long as it happens once per user action only in the
cases where there's an extended backtrace via `GetNumExtendedBacktraceTypes`.
IIRC, not all stack traces are sent at once to the IDE. Only one stack trace
gets sent and then, the user needs to expand individual threads to see more
stack traces, in which case 1 second seems reasonable under the circumstances
mentioned above.
https://github.com/llvm/llvm-project/pull/104874
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits