diff --git a/crates/miniprofiler_ui/LICENSE-GPL b/crates/miniprofiler_ui/LICENSE-GPL deleted file mode 120000 index 89e542f750cd3860a0598eff0dc34b56d7336dc4..0000000000000000000000000000000000000000 --- a/crates/miniprofiler_ui/LICENSE-GPL +++ /dev/null @@ -1 +0,0 @@ -../../LICENSE-GPL \ No newline at end of file diff --git a/crates/miniprofiler_ui/LICENSE-GPL b/crates/miniprofiler_ui/LICENSE-GPL new file mode 100644 index 0000000000000000000000000000000000000000..89e542f750cd3860a0598eff0dc34b56d7336dc4 --- /dev/null +++ b/crates/miniprofiler_ui/LICENSE-GPL @@ -0,0 +1 @@ +../../LICENSE-GPL \ No newline at end of file diff --git a/crates/project/src/debugger/session.rs b/crates/project/src/debugger/session.rs index 1bc41df4bd89b4a32b71ed4f0bec0a61e729f998..186ebd2f0b83346cd0c064fcda8cf7764a192af7 100644 --- a/crates/project/src/debugger/session.rs +++ b/crates/project/src/debugger/session.rs @@ -435,7 +435,6 @@ impl RunningMode { }), }; - let configuration_done_supported = ConfigurationDone::is_supported(capabilities); // From spec (on initialization sequence): // client sends a setExceptionBreakpoints request if one or more exceptionBreakpointFilters have been defined (or if supportsConfigurationDoneRequest is not true) // @@ -443,8 +442,7 @@ impl RunningMode { let should_send_exception_breakpoints = capabilities .exception_breakpoint_filters .as_ref() - .is_some_and(|filters| !filters.is_empty()) - || !configuration_done_supported; + .is_some_and(|filters| !filters.is_empty()); let supports_exception_filters = capabilities .supports_exception_filter_options .unwrap_or_default(); @@ -454,9 +452,18 @@ impl RunningMode { .exception_breakpoint_filters .clone() .unwrap_or_default(); + let capabilities = capabilities.clone(); let configuration_sequence = cx.spawn({ async move |session, cx| { let adapter_name = session.read_with(cx, |this, _| this.adapter())?; + let configuration_done_supported = if adapter_name.as_ref() == "GDB" { + // Until GDB 17 is officially out and in circulation, as a workaround to misconfigured handling of DAP in GDB, + // we do not use ConfigurationDone for communications. + // See https://github.com/zed-industries/zed/issues/41753 + false + } else { + ConfigurationDone::is_supported(&capabilities) + }; let (breakpoint_store, adapter_defaults) = dap_store.read_with(cx, |dap_store, _| { ( @@ -496,7 +503,7 @@ impl RunningMode { } })?; - if should_send_exception_breakpoints { + if should_send_exception_breakpoints || !configuration_done_supported { _ = session.update(cx, |this, _| { filters.retain(|filter| { let is_enabled = if let Some(defaults) = adapter_defaults.as_ref() { diff --git a/crates/project_benchmarks/LICENSE-GPL b/crates/project_benchmarks/LICENSE-GPL deleted file mode 120000 index 89e542f750cd3860a0598eff0dc34b56d7336dc4..0000000000000000000000000000000000000000 --- a/crates/project_benchmarks/LICENSE-GPL +++ /dev/null @@ -1 +0,0 @@ -../../LICENSE-GPL \ No newline at end of file diff --git a/crates/project_benchmarks/LICENSE-GPL b/crates/project_benchmarks/LICENSE-GPL new file mode 100644 index 0000000000000000000000000000000000000000..89e542f750cd3860a0598eff0dc34b56d7336dc4 --- /dev/null +++ b/crates/project_benchmarks/LICENSE-GPL @@ -0,0 +1 @@ +../../LICENSE-GPL \ No newline at end of file