@@ -38,21 +38,19 @@ export class LLDBDapConfigurationProvider
3838 ) ;
3939 }
4040
41- if (
42- "debugAdapterPort" in debugConfiguration &&
43- ( "debugAdapterExecutable" in debugConfiguration ||
44- "debugAdapterArgs" in debugConfiguration )
45- ) {
46- return showErrorWithConfigureButton (
47- "The debugAdapterPort property is incompatible with debugAdapterExecutable and debugAdapterArgs. Please update your launch configuration." ,
48- ) ;
49- }
50-
51- // Server mode needs to be handled here since DebugAdapterDescriptorFactory
52- // will show an unhelpful error if it returns undefined. We'd rather show a
53- // nicer error message here and allow stopping the debug session gracefully.
54- const config = vscode . workspace . getConfiguration ( "lldb-dap" , folder ) ;
55- if ( config . get < boolean > ( "serverMode" , false ) ) {
41+ // Check if we're going to launch a debug session or use an existing process
42+ if ( "debugAdapterPort" in debugConfiguration ) {
43+ if (
44+ "debugAdapterExecutable" in debugConfiguration ||
45+ "debugAdapterArgs" in debugConfiguration
46+ ) {
47+ return showErrorWithConfigureButton (
48+ "The debugAdapterPort property is incompatible with debugAdapterExecutable and debugAdapterArgs. Please update your launch configuration." ,
49+ ) ;
50+ }
51+ } else {
52+ // Always try to create the debug adapter executable as this will show the user errors
53+ // if there are any.
5654 const executable = await createDebugAdapterExecutable (
5755 folder ,
5856 debugConfiguration ,
@@ -61,7 +59,15 @@ export class LLDBDapConfigurationProvider
6159 if ( ! executable ) {
6260 return undefined ;
6361 }
64- if ( await isServerModeSupported ( executable . command ) ) {
62+
63+ // Server mode needs to be handled here since DebugAdapterDescriptorFactory
64+ // will show an unhelpful error if it returns undefined. We'd rather show a
65+ // nicer error message here and allow stopping the debug session gracefully.
66+ const config = vscode . workspace . getConfiguration ( "lldb-dap" , folder ) ;
67+ if (
68+ config . get < boolean > ( "serverMode" , false ) &&
69+ ( await isServerModeSupported ( executable . command ) )
70+ ) {
6571 const serverInfo = await this . server . start (
6672 executable . command ,
6773 executable . args ,
0 commit comments