-
Notifications
You must be signed in to change notification settings - Fork 291
Description
When critical paths like LLDB_DEBUGSERVER_PATH or liblldb point to non-existent files, lldb errors are cryptic and don't indicate the actual problem.
Example error when debugserver is missing:
executable doesn't exist: '(empty)'
Affected paths
lldb.library(liblldb) - passed via--liblldbflaglldb.server(debugserver on macOS, lldb-server on Linux) - passed viaLLDB_DEBUGSERVER_PATHenv var
Current behavior
- No validation before launching adapter
- Error messages don't indicate which dependency is missing
Suggested improvement
Validate paths exist before spawning adapter. If missing, return helpful error:
liblldb not found at ''. Check your lldb.library setting.
debugserver/lldb-server not found at ''. Check your lldb.server setting or install debugging tools.
References
codelldb/extension/novsc/adapter.ts
Lines 24 to 26 in 39d9acc
if (options.liblldb) { args.push('--liblldb', options.liblldb); } codelldb/extension/novsc/adapter.ts
Lines 36 to 37 in 39d9acc
if (options.lldbServer) env['LLDB_DEBUGSERVER_PATH'] = options.lldbServer;
Similar pattern already exists for workDir validation in adapter.ts.
Related: #999 (debugserver issues on macOS)