vadimcn / codelldb

A native debugger extension for VSCode based on LLDB
https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb
MIT License
2.42k stars 237 forks source link

Program early exits when debugging with parallel code #1054

Open doraeric opened 6 months ago

doraeric commented 6 months ago

OS: Debian GNU/Linux 12 (bookworm) VSCode version: 1.85.1 CodeLLDB version: v1.10.0 Compiler: rustc 1.75.0 (82e1608df 2023-12-21) Debuggee:

The log is from a docker container on windows, but I can reproduce this issue on a linux host. I am debugging rust program in vs code. When I set breakpoints before using rayon par_iter, I can see the output in vs code terminal. Then I go forward to next line one by one, and the program just stops. There is no any further error message nor program output in vs code terminal.

Here is the code to reproduce the issue:

use std::process::Command;

use rayon::prelude::*;

fn main() {
    let cmds = vec!["ls"; 2];
    println!("before parallel cmds");
    let outputs = cmds.par_iter().map(|cmd_str| {
        let mut cmd = Command::new(cmd_str);
        let output = cmd.output().expect("command failed");
        return output;
    }).collect::<Vec<_>>();
    println!("after parallel cmds");
    println!("{:#?}", outputs);
}

With cargo run, I can see "after parallel cmds" and outputs, but I can't see these messages when debugging. If the code runs normally when debugging, increase the number of cmds, and it should be reproduced.

Verbose log
Initial debug configuration: {
  type: 'lldb',
  request: 'launch',
  name: 'run rs-debugger',
  program: '${workspaceFolder}/target/debug/rs-debugger',
  args: [],
  cwd: '${workspaceFolder}',
  sourceMap: {},
  sourceLanguages: [ 'rust' ],
  env: {
    RUST_BACKTRACE: 'short',
    HOSTNAME: 'de16a62b9353',
    HOME: '/root',
    RUSTUP_HOME: '/usr/local/rustup',
    PATH: '/vscode/vscode-server/bin/linux-x64/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/bin/remote-cli:/usr/local/cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
    VSCODE_AGENT_FOLDER: '/root/.vscode-server',
    SHELL: '/bin/bash',
    RUST_VERSION: '1.75.0',
    PWD: '/vscode/vscode-server/bin/linux-x64/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2',
    CARGO_HOME: '/usr/local/cargo',
    VSCODE_HANDLES_SIGPIPE: 'true',
    VSCODE_AMD_ENTRYPOINT: 'vs/workbench/api/node/extensionHostProcess',
    VSCODE_HANDLES_UNCAUGHT_ERRORS: 'true',
    VSCODE_NLS_CONFIG: '{"locale":"en","osLocale":"en","availableLanguages":{}}',
    REMOTE_CONTAINERS_IPC: '/tmp/vscode-remote-containers-ipc-a369d246-8329-43b3-ae6b-96f6b06a14fa.sock',
    REMOTE_CONTAINERS_SOCKETS: '["/tmp/vscode-ssh-auth-a369d246-8329-43b3-ae6b-96f6b06a14fa.sock","/tmp/.X11-unix/X1"]',
    SHLVL: '1',
    _: '/usr/bin/cat',
    SSH_AUTH_SOCK: '/tmp/vscode-ssh-auth-a369d246-8329-43b3-ae6b-96f6b06a14fa.sock',
    DISPLAY: ':1',
    REMOTE_CONTAINERS_DISPLAY_SOCK: '/tmp/.X11-unix/X1',
    XDG_RUNTIME_DIR: '/tmp/user/0',
    WAYLAND_DISPLAY: 'vscode-wayland-e4690b79-dfdc-4740-9711-0416284a135a.sock',
    REMOTE_CONTAINERS: 'true',
    BROWSER: '/vscode/vscode-server/bin/linux-x64/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/bin/helpers/browser.sh',
    VSCODE_CWD: '/vscode/vscode-server/bin/linux-x64/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2',
    ELECTRON_RUN_AS_NODE: '1',
    VSCODE_IPC_HOOK_CLI: '/tmp/user/0/vscode-ipc-2aa01a0a-84fa-47d2-87d3-82aa2e57ed74.sock',
    VSCODE_L10N_BUNDLE_LOCATION: ''
  }
}
Resolved debug configuration: {
  type: 'lldb',
  request: 'launch',
  name: 'run rs-debugger',
  program: '${workspaceFolder}/target/debug/rs-debugger',
  args: [],
  cwd: '${workspaceFolder}',
  sourceMap: {},
  sourceLanguages: [ 'rust' ],
  env: {
    RUST_BACKTRACE: 'short',
    HOSTNAME: 'de16a62b9353',
    HOME: '/root',
    RUSTUP_HOME: '/usr/local/rustup',
    PATH: '/vscode/vscode-server/bin/linux-x64/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/bin/remote-cli:/usr/local/cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
    VSCODE_AGENT_FOLDER: '/root/.vscode-server',
    SHELL: '/bin/bash',
    RUST_VERSION: '1.75.0',
    PWD: '/vscode/vscode-server/bin/linux-x64/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2',
    CARGO_HOME: '/usr/local/cargo',
    VSCODE_HANDLES_SIGPIPE: 'true',
    VSCODE_AMD_ENTRYPOINT: 'vs/workbench/api/node/extensionHostProcess',
    VSCODE_HANDLES_UNCAUGHT_ERRORS: 'true',
    VSCODE_NLS_CONFIG: '{"locale":"en","osLocale":"en","availableLanguages":{}}',
    REMOTE_CONTAINERS_IPC: '/tmp/vscode-remote-containers-ipc-a369d246-8329-43b3-ae6b-96f6b06a14fa.sock',
    REMOTE_CONTAINERS_SOCKETS: '["/tmp/vscode-ssh-auth-a369d246-8329-43b3-ae6b-96f6b06a14fa.sock","/tmp/.X11-unix/X1"]',
    SHLVL: '1',
    _: '/usr/bin/cat',
    SSH_AUTH_SOCK: '/tmp/vscode-ssh-auth-a369d246-8329-43b3-ae6b-96f6b06a14fa.sock',
    DISPLAY: ':1',
    REMOTE_CONTAINERS_DISPLAY_SOCK: '/tmp/.X11-unix/X1',
    XDG_RUNTIME_DIR: '/tmp/user/0',
    WAYLAND_DISPLAY: 'vscode-wayland-e4690b79-dfdc-4740-9711-0416284a135a.sock',
    REMOTE_CONTAINERS: 'true',
    BROWSER: '/vscode/vscode-server/bin/linux-x64/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/bin/helpers/browser.sh',
    VSCODE_CWD: '/vscode/vscode-server/bin/linux-x64/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2',
    ELECTRON_RUN_AS_NODE: '1',
    VSCODE_IPC_HOOK_CLI: '/tmp/user/0/vscode-ipc-2aa01a0a-84fa-47d2-87d3-82aa2e57ed74.sock',
    VSCODE_L10N_BUNDLE_LOCATION: ''
  },
  relativePathBase: '/workspaces/rs-debugger',
  _adapterSettings: {
    displayFormat: 'auto',
    showDisassembly: 'auto',
    dereferencePointers: true,
    suppressMissingSourceFiles: true,
    evaluationTimeout: 5,
    consoleMode: 'commands',
    sourceLanguages: null,
    terminalPromptClear: null,
    evaluateForHovers: true,
    commandCompletions: true,
    reproducer: false
  }
}
liblldb: /root/.vscode-server/extensions/vadimcn.vscode-lldb-1.10.0/lldb/lib/liblldb.so
environment: {}
settings: {
  evaluateForHovers: true,
  commandCompletions: true,
  sourceLanguages: [ 'rust' ]
}
[DEBUG codelldb] Connecting to 127.0.0.1:34535
[DEBUG codelldb] New debug session
[DEBUG codelldb::dap_codec] --> {"command":"initialize","arguments":{"clientID":"vscode","clientName":"Visual Studio Code","adapterID":"lldb","pathFormat":"path","linesStartAt1":true,"columnsStartAt1":true,"supportsVariableType":true,"supportsVariablePaging":true,"supportsRunInTerminalRequest":true,"locale":"en","supportsProgressReporting":true,"supportsInvalidatedEvent":true,"supportsMemoryReferences":true,"supportsArgsCanBeInterpretedByShell":true,"supportsMemoryEvent":true,"supportsStartDebuggingRequest":true},"type":"request","seq":1}
[DEBUG codelldb::dap_codec] <-- {"seq":1,"type":"response","request_seq":1,"success":true,"command":"initialize","body":{"exceptionBreakpointFilters":[{"default":true,"filter":"rust_panic","label":"Rust: on panic","supportsCondition":true}],"supportTerminateDebuggee":true,"supportsCancelRequest":true,"supportsCompletionsRequest":true,"supportsConditionalBreakpoints":true,"supportsConfigurationDoneRequest":true,"supportsDataBreakpoints":true,"supportsDelayedStackTraceLoading":true,"supportsDisassembleRequest":true,"supportsEvaluateForHovers":true,"supportsExceptionFilterOptions":true,"supportsExceptionInfoRequest":true,"supportsFunctionBreakpoints":true,"supportsGotoTargetsRequest":true,"supportsHitConditionalBreakpoints":true,"supportsInstructionBreakpoints":true,"supportsLogPoints":true,"supportsReadMemoryRequest":true,"supportsSetVariable":true,"supportsSteppingGranularity":true,"supportsWriteMemoryRequest":true}}
[DEBUG codelldb::dap_codec] --> {"command":"launch","arguments":{"type":"lldb","request":"launch","name":"run rs-debugger","program":"/workspaces/rs-debugger/target/debug/rs-debugger","args":[],"cwd":"/workspaces/rs-debugger","sourceMap":{},"sourceLanguages":["rust"],"env":{"RUST_BACKTRACE":"short","HOSTNAME":"de16a62b9353","HOME":"/root","RUSTUP_HOME":"/usr/local/rustup","PATH":"/vscode/vscode-server/bin/linux-x64/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/bin/remote-cli:/usr/local/cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","VSCODE_AGENT_FOLDER":"/root/.vscode-server","SHELL":"/bin/bash","RUST_VERSION":"1.75.0","PWD":"/vscode/vscode-server/bin/linux-x64/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2","CARGO_HOME":"/usr/local/cargo","VSCODE_HANDLES_SIGPIPE":"true","VSCODE_AMD_ENTRYPOINT":"vs/workbench/api/node/extensionHostProcess","VSCODE_HANDLES_UNCAUGHT_ERRORS":"true","VSCODE_NLS_CONFIG":"{\"locale\":\"en\",\"osLocale\":\"en\",\"availableLanguages\":{}}","REMOTE_CONTAINERS_IPC":"/tmp/vscode-remote-containers-ipc-a369d246-8329-43b3-ae6b-96f6b06a14fa.sock","REMOTE_CONTAINERS_SOCKETS":"[\"/tmp/vscode-ssh-auth-a369d246-8329-43b3-ae6b-96f6b06a14fa.sock\",\"/tmp/.X11-unix/X1\"]","SHLVL":"1","_":"/usr/bin/cat","SSH_AUTH_SOCK":"/tmp/vscode-ssh-auth-a369d246-8329-43b3-ae6b-96f6b06a14fa.sock","DISPLAY":":1","REMOTE_CONTAINERS_DISPLAY_SOCK":"/tmp/.X11-unix/X1","XDG_RUNTIME_DIR":"/tmp/user/0","WAYLAND_DISPLAY":"vscode-wayland-e4690b79-dfdc-4740-9711-0416284a135a.sock","REMOTE_CONTAINERS":"true","BROWSER":"/vscode/vscode-server/bin/linux-x64/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/bin/helpers/browser.sh","VSCODE_CWD":"/vscode/vscode-server/bin/linux-x64/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2","ELECTRON_RUN_AS_NODE":"1","VSCODE_IPC_HOOK_CLI":"/tmp/user/0/vscode-ipc-2aa01a0a-84fa-47d2-87d3-82aa2e57ed74.sock","VSCODE_L10N_BUNDLE_LOCATION":""},"relativePathBase":"/workspaces/rs-debugger","_adapterSettings":{"displayFormat":"auto","showDisassembly":"auto","dereferencePointers":true,"suppressMissingSourceFiles":true,"evaluationTimeout":5,"consoleMode":"commands","sourceLanguages":null,"terminalPromptClear":null,"evaluateForHovers":true,"commandCompletions":true,"reproducer":false},"__sessionId":"fbb66e73-0fe8-4656-b184-bf56c22f9c62"},"type":"request","seq":2}
[DEBUG codelldb::dap_codec] <-- {"seq":2,"type":"event","event":"output","body":{"category":"console","output":"Console is in 'commands' mode, prefix expressions with '?'.\n"}}
INFO(Python) 02:03:08 formatters: Initializing
INFO(Python) 02:03:08 formatters.rust: Initializing
[DEBUG codelldb::debug_session] Debug event: 0x55dac795cb08 Event: broadcaster = 0x55dac89e7420 (lldb.target), type = 0x00000002 (modules-loaded), data = {rs-debugger}
[DEBUG codelldb::dap_codec] <-- {"seq":3,"type":"event","event":"initialized"}
[DEBUG codelldb::dap_codec] <-- {"seq":4,"type":"event","event":"module","body":{"module":{"addressRange":"FFFFFFFFFFFFFFFF","id":"FFFFFFFFFFFFFFFF","name":"rs-debugger","path":"/workspaces/rs-debugger/target/debug/rs-debugger","symbolFilePath":"/workspaces/rs-debugger/target/debug/rs-debugger","symbolStatus":"Symbols loaded."},"reason":"new"}}
[DEBUG codelldb::dap_codec] <-- {"seq":5,"type":"request","command":"runInTerminal","arguments":{"args":["/root/.vscode-server/extensions/vadimcn.vscode-lldb-1.10.0/adapter/codelldb","terminal-agent","--connect=46671"],"cwd":"","kind":"integrated","title":"run rs-debugger"}}
[DEBUG codelldb::dap_codec] --> {"command":"setBreakpoints","arguments":{"source":{"name":"main.rs","path":"/workspaces/rs-debugger/src/main.rs"},"lines":[8],"breakpoints":[{"line":8}],"sourceModified":false},"type":"request","seq":3}
[DEBUG codelldb::debug_session] Debug event: 0x55dac795cb08 Event: broadcaster = 0x55dac89e7420 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 1 type: breakpoint added}
[DEBUG codelldb::dap_codec] <-- {"seq":6,"type":"response","request_seq":3,"success":true,"command":"setBreakpoints","body":{"breakpoints":[{"id":1,"line":9,"message":"Resolved locations: 0","verified":true}]}}
[DEBUG codelldb::dap_codec] --> {"command":"setFunctionBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":4}
[DEBUG codelldb::dap_codec] --> {"command":"setDataBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":5}
[DEBUG codelldb::dap_codec] --> {"command":"setInstructionBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":6}
[DEBUG codelldb::dap_codec] --> {"command":"setExceptionBreakpoints","arguments":{"filters":[],"filterOptions":[{"filterId":"rust_panic"}]},"type":"request","seq":7}
[DEBUG codelldb::dap_codec] <-- {"seq":7,"type":"response","request_seq":4,"success":true,"command":"setFunctionBreakpoints","body":{"breakpoints":[]}}
[DEBUG codelldb::dap_codec] <-- {"seq":8,"type":"response","request_seq":5,"success":true,"command":"setDataBreakpoints","body":{"breakpoints":[]}}
[DEBUG codelldb::dap_codec] <-- {"seq":9,"type":"response","request_seq":6,"success":true,"command":"setInstructionBreakpoints","body":{"breakpoints":[]}}
[DEBUG codelldb::debug_session] Debug event: 0x55dac795cb08 Event: broadcaster = 0x55dac89e7420 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 2 type: breakpoint added}
[DEBUG codelldb::dap_codec] <-- {"seq":10,"type":"response","request_seq":7,"success":true,"command":"setExceptionBreakpoints"}
[DEBUG codelldb::dap_codec] --> {"command":"configurationDone","type":"request","seq":8}
[DEBUG codelldb::dap_codec] --> {"type":"response","seq":9,"command":"runInTerminal","request_seq":5,"success":true,"body":{"shellProcessId":479}}
[DEBUG codelldb::dap_codec] <-- {"seq":11,"type":"event","event":"output","body":{"category":"console","output":"Launching: /workspaces/rs-debugger/target/debug/rs-debugger\n"}}
[DEBUG codelldb::dap_codec] <-- {"seq":12,"type":"event","event":"output","body":{"category":"console","output":"Launched process 556\n"}}
[DEBUG codelldb::debug_session] Debug event: 0x55dac7aa99d8 Event: broadcaster = 0x55dac89e7420 (lldb.target), type = 0x00000002 (modules-loaded), data = {ld-linux-x86-64.so.2}
[DEBUG codelldb::debug_session] Debug event: 0x55dac8b14e68 Event: broadcaster = 0x55dac89e7420 (lldb.target), type = 0x00000002 (modules-loaded), data = {[vdso](0x00007ffff7fc9000)}
[DEBUG codelldb::dap_codec] <-- {"seq":13,"type":"response","request_seq":2,"success":true,"command":"launch"}
[DEBUG codelldb::dap_codec] <-- {"seq":14,"type":"response","request_seq":8,"success":true,"command":"configurationDone"}
[DEBUG codelldb::debug_session] Debug event: 0x55dac8af19b8 Event: broadcaster = 0x55dac89e7420 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 1 type: locations resolved}
[DEBUG codelldb::dap_codec] <-- {"seq":15,"type":"event","event":"module","body":{"module":{"addressRange":"7FFFF7FCB000","id":"7FFFF7FCB000","name":"ld-linux-x86-64.so.2","path":"/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2","symbolFilePath":"/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2","symbolStatus":"Symbols loaded."},"reason":"new"}}
[DEBUG codelldb::dap_codec] <-- {"seq":16,"type":"event","event":"module","body":{"module":{"addressRange":"7FFFF7FC9000","id":"7FFFF7FC9000","name":"[vdso]","path":"[vdso]","symbolStatus":"Symbols not found"},"reason":"new"}}
[DEBUG codelldb::debug_session] Debug event: 0x55dac8af1b28 Event: broadcaster = 0x55dac89e7420 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 1 type: locations resolved}
[DEBUG codelldb::dap_codec] <-- {"seq":17,"type":"event","event":"breakpoint","body":{"breakpoint":{"id":1,"line":9,"message":"Resolved locations: 2","verified":true},"reason":"changed"}}
[DEBUG codelldb::debug_session] Debug event: 0x55dac8af1c98 Event: broadcaster = 0x55dac89e7420 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 2 type: locations resolved}
[DEBUG codelldb::dap_codec] <-- {"seq":18,"type":"event","event":"breakpoint","body":{"breakpoint":{"id":1,"line":9,"message":"Resolved locations: 2","verified":true},"reason":"changed"}}
[DEBUG codelldb::dap_codec] <-- {"seq":19,"type":"event","event":"breakpoint","body":{"breakpoint":{"id":2,"message":"Resolved locations: 1","verified":true},"reason":"changed"}}
[DEBUG codelldb::debug_session] Debug event: 0x55dac8af1d18 Event: broadcaster = 0x55dac89e7420 (lldb.target), type = 0x00000002 (modules-loaded), data = {rs-debugger}
[DEBUG codelldb::debug_session] Debug event: 0x55dac8af2c90 Event: broadcaster = 0x55dac7a86608 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x55dac7a865d0 (pid = 556), state = running}
[DEBUG codelldb::dap_codec] <-- {"seq":20,"type":"event","event":"module","body":{"module":{"addressRange":"555555554000","id":"555555554000","name":"rs-debugger","path":"/workspaces/rs-debugger/target/debug/rs-debugger","symbolFilePath":"/workspaces/rs-debugger/target/debug/rs-debugger","symbolStatus":"Symbols loaded."},"reason":"new"}}
[DEBUG codelldb::dap_codec] <-- {"seq":21,"type":"event","event":"continued","body":{"allThreadsContinued":true,"threadId":556}}
[DEBUG codelldb::debug_session] Debug event: 0x7f993c0b0f78 Event: broadcaster = 0x55dac89e7420 (lldb.target), type = 0x00000004 (modules-unloaded), data = {ld-linux-x86-64.so.2}
[DEBUG codelldb::debug_session] Debug event: 0x7f993c0b3c48 Event: broadcaster = 0x55dac89e7420 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 1 type: locations removed}
[DEBUG codelldb::debug_session] Debug event: 0x7f993c0b3cc8 Event: broadcaster = 0x55dac89e7420 (lldb.target), type = 0x00000001 (breakpoint-changed), data = {bkpt: 2 type: locations removed}
[DEBUG codelldb::dap_codec] <-- {"seq":22,"type":"event","event":"module","body":{"module":{"id":"FFFFFFFFFFFFFFFF","name":""},"reason":"removed"}}
[DEBUG codelldb::debug_session] Debug event: 0x7f993c0b3da8 Event: broadcaster = 0x55dac89e7420 (lldb.target), type = 0x00000002 (modules-loaded), data = {libgcc_s.so.1, libc.so.6}
[DEBUG codelldb::dap_codec] <-- {"seq":23,"type":"event","event":"module","body":{"module":{"addressRange":"7FFFF7FA1000","id":"7FFFF7FA1000","name":"libgcc_s.so.1","path":"/lib/x86_64-linux-gnu/libgcc_s.so.1","symbolFilePath":"/lib/x86_64-linux-gnu/libgcc_s.so.1","symbolStatus":"Symbols loaded."},"reason":"new"}}
[DEBUG codelldb::dap_codec] <-- {"seq":24,"type":"event","event":"module","body":{"module":{"addressRange":"7FFFF7DC0000","id":"7FFFF7DC0000","name":"libc.so.6","path":"/lib/x86_64-linux-gnu/libc.so.6","symbolFilePath":"/lib/x86_64-linux-gnu/libc.so.6","symbolStatus":"Symbols loaded."},"reason":"new"}}
[DEBUG codelldb::debug_session::breakpoints] Callback for breakpoint location 1.2: where = rs-debugger`rs_debugger::main + 114 at main.rs:8:19, address = 0x000055555556eb72, resolved, hit count = 1 

[DEBUG codelldb::debug_session] Debug event: 0x7f9930002750 Event: broadcaster = 0x55dac7a86608 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x55dac7a865d0 (pid = 556), state = stopped}
[DEBUG codelldb::dap_codec] <-- {"seq":25,"type":"event","event":"stopped","body":{"allThreadsStopped":true,"reason":"breakpoint","threadId":556}}
[DEBUG codelldb::dap_codec] --> {"command":"threads","type":"request","seq":10}
[DEBUG codelldb::dap_codec] <-- {"seq":26,"type":"response","request_seq":10,"success":true,"command":"threads","body":{"threads":[{"id":556,"name":"1: tid=556 \"rs-debugger\""}]}}
[DEBUG codelldb::dap_codec] --> {"command":"threads","type":"request","seq":11}
[DEBUG codelldb::dap_codec] <-- {"seq":27,"type":"response","request_seq":11,"success":true,"command":"threads","body":{"threads":[{"id":556,"name":"1: tid=556 \"rs-debugger\""}]}}
[DEBUG codelldb::dap_codec] --> {"command":"stackTrace","arguments":{"threadId":556,"startFrame":0,"levels":1},"type":"request","seq":12}
[DEBUG codelldb::dap_codec] <-- {"seq":28,"type":"response","request_seq":12,"success":true,"command":"stackTrace","body":{"stackFrames":[{"column":19,"id":1001,"instructionPointerReference":"0x55555556EB72","line":8,"name":"rs_debugger::main","source":{"name":"main.rs","path":"/workspaces/rs-debugger/src/main.rs"}}]}}
[DEBUG codelldb::dap_codec] --> {"command":"stackTrace","arguments":{"threadId":556,"startFrame":0,"levels":20},"type":"request","seq":13}
[DEBUG codelldb::disassembly] rs-debugger`core::ops::function::FnOnce::call_once + 11 at function.rs:250:5
[DEBUG codelldb::disassembly] rs-debugger`std::sys_common::backtrace::__rust_begin_short_backtrace + 14 at backtrace.rs:160:2
[DEBUG codelldb::disassembly] rs-debugger`std::rt::lang_start::{{closure}} + 17 at rt.rs:167:18
[DEBUG codelldb::disassembly] rs-debugger`std::rt::lang_start_internal + 1063 [inlined] core::result::Result::unwrap_or at result.rs:1407:9
    rs-debugger`std::rt::lang_start_internal + 1063 [inlined] std::rt::lang_start_internal::{{closure}} + 6 at rt.rs:148:74
    rs-debugger`std::rt::lang_start_internal + 1057 [inlined] std::panicking::try::do_call at panicking.rs:552:40
    rs-debugger`std::rt::lang_start_internal + 1057 [inlined] std::panicking::try at panicking.rs:516:19
    rs-debugger`std::rt::lang_start_internal + 1057 [inlined] std::panic::catch_unwind at panic.rs:142:14
    rs-debugger`std::rt::lang_start_internal + 1057 at rt.rs:148:20
[DEBUG codelldb::disassembly] rs-debugger`std::rt::lang_start + 58 at rt.rs:166:17
[DEBUG codelldb::disassembly] rs-debugger`main + 30
[DEBUG codelldb::disassembly] libc.so.6`___lldb_unnamed_symbol3156 + 122
[DEBUG codelldb::disassembly] libc.so.6`__libc_start_main + 133
[DEBUG codelldb::disassembly] rs-debugger`_start + 33
[DEBUG codelldb::dap_codec] <-- {"seq":29,"type":"response","request_seq":13,"success":true,"command":"stackTrace","body":{"stackFrames":[{"column":19,"id":1002,"instructionPointerReference":"0x55555556EB72","line":8,"name":"rs_debugger::main","source":{"name":"main.rs","path":"/workspaces/rs-debugger/src/main.rs"}},{"column":0,"id":1003,"instructionPointerReference":"0x555555568F2B","line":6,"name":"core::ops::function::FnOnce::call_once","presentationHint":"subtle","source":{"name":"@core::ops::function::FnOnce::call_once","sourceReference":1000}},{"column":0,"id":1004,"instructionPointerReference":"0x55555556646E","line":6,"name":"std::sys_common::backtrace::__rust_begin_short_backtrace","presentationHint":"subtle","source":{"name":"@std::sys_common::backtrace::__rust_begin_short_backtrace","sourceReference":1001}},{"column":0,"id":1005,"instructionPointerReference":"0x55555556BA91","line":7,"name":"std::rt::lang_start::{{closure}}","presentationHint":"subtle","source":{"name":"@std::rt::lang_start::{{closure}}","sourceReference":1002}},{"column":0,"id":1006,"instructionPointerReference":"0x5555555BE4F7","line":234,"name":"core::ops::function::impls:: for &F>::call_once","presentationHint":"subtle","source":{"name":"@std::rt::lang_start_internal","sourceReference":1003}},{"column":0,"id":1007,"instructionPointerReference":"0x5555555BE4F1","line":232,"name":"std::panicking::try::do_call","presentationHint":"subtle","source":{"name":"@std::rt::lang_start_internal","sourceReference":1003}},{"column":0,"id":1008,"instructionPointerReference":"0x5555555BE4F1","line":232,"name":"std::panicking::try","presentationHint":"subtle","source":{"name":"@std::rt::lang_start_internal","sourceReference":1003}},{"column":0,"id":1009,"instructionPointerReference":"0x5555555BE4F1","line":232,"name":"std::panic::catch_unwind","presentationHint":"subtle","source":{"name":"@std::rt::lang_start_internal","sourceReference":1003}},{"column":0,"id":1010,"instructionPointerReference":"0x5555555BE4F1","line":232,"name":"std::rt::lang_start_internal::{{closure}}","presentationHint":"subtle","source":{"name":"@std::rt::lang_start_internal","sourceReference":1003}},{"column":0,"id":1011,"instructionPointerReference":"0x5555555BE4F1","line":232,"name":"std::panicking::try::do_call","presentationHint":"subtle","source":{"name":"@std::rt::lang_start_internal","sourceReference":1003}},{"column":0,"id":1012,"instructionPointerReference":"0x5555555BE4F1","line":232,"name":"std::panicking::try","presentationHint":"subtle","source":{"name":"@std::rt::lang_start_internal","sourceReference":1003}},{"column":0,"id":1013,"instructionPointerReference":"0x5555555BE4F1","line":232,"name":"std::panic::catch_unwind","presentationHint":"subtle","source":{"name":"@std::rt::lang_start_internal","sourceReference":1003}},{"column":0,"id":1014,"instructionPointerReference":"0x5555555BE4F1","line":232,"name":"std::rt::lang_start_internal","presentationHint":"subtle","source":{"name":"@std::rt::lang_start_internal","sourceReference":1003}},{"column":0,"id":1015,"instructionPointerReference":"0x55555556BA6A","line":16,"name":"std::rt::lang_start","presentationHint":"subtle","source":{"name":"@std::rt::lang_start","sourceReference":1004}},{"column":0,"id":1016,"instructionPointerReference":"0x55555556EE0E","line":11,"name":"main","presentationHint":"subtle","source":{"name":"@main","sourceReference":1005}},{"column":0,"id":1017,"instructionPointerReference":"0x7FFFF7DE71CA","line":26,"name":"___lldb_unnamed_symbol3156","presentationHint":"subtle","source":{"name":"@___lldb_unnamed_symbol3156","sourceReference":1006}},{"column":0,"id":1018,"instructionPointerReference":"0x7FFFF7DE7285","line":43,"name":"__libc_start_main","presentationHint":"subtle","source":{"name":"@__libc_start_main","sourceReference":1007}},{"column":0,"id":1019,"instructionPointerReference":"0x555555562AD1","line":14,"name":"_start","presentationHint":"subtle","source":{"name":"@_start","sourceReference":1008}}]}}
[DEBUG codelldb::dap_codec] --> {"command":"stackTrace","arguments":{"threadId":556,"startFrame":18,"levels":19},"type":"request","seq":14}
[DEBUG codelldb::dap_codec] <-- {"seq":30,"type":"response","request_seq":14,"success":true,"command":"stackTrace","body":{"stackFrames":[]}}
[DEBUG codelldb::dap_codec] --> {"command":"scopes","arguments":{"frameId":1001},"type":"request","seq":15}
[DEBUG codelldb::dap_codec] <-- {"seq":31,"type":"response","request_seq":15,"success":true,"command":"scopes","body":{"scopes":[{"expensive":false,"name":"Local","variablesReference":1020},{"expensive":false,"name":"Static","variablesReference":1021},{"expensive":false,"name":"Global","variablesReference":1022},{"expensive":false,"name":"Registers","variablesReference":1023}]}}
[DEBUG codelldb::dap_codec] --> {"command":"variables","arguments":{"variablesReference":1020},"type":"request","seq":16}
[DEBUG codelldb::dap_codec] <-- {"seq":32,"type":"response","request_seq":16,"success":true,"command":"variables","body":{"variables":[{"evaluateName":"cmds","memoryReference":"0x7FFFFFFFE238","name":"cmds","presentationHint":{"attributes":["readOnly"]},"type":"alloc::vec::Vec<&str, alloc::alloc::Global>","value":"(2) vec![\"ls\", \"ls\"]","variablesReference":1024}]}}
[DEBUG codelldb::dap_codec] --> {"command":"next","arguments":{"threadId":556},"type":"request","seq":17}
[DEBUG codelldb::dap_codec] <-- {"seq":33,"type":"response","request_seq":17,"success":true,"command":"next"}
[DEBUG codelldb::debug_session] Debug event: 0x7f99300026a0 Event: broadcaster = 0x55dac7a86608 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x55dac7a865d0 (pid = 556), state = running}
[DEBUG codelldb::dap_codec] <-- {"seq":34,"type":"event","event":"continued","body":{"allThreadsContinued":true,"threadId":556}}
[DEBUG codelldb::debug_session::breakpoints] Callback for breakpoint location 1.1: where = rs-debugger`rs_debugger::main::{{closure}} + 54 at main.rs:9:23, address = 0x000055555556add6, resolved, hit count = 2 

[DEBUG codelldb::debug_session::breakpoints] Callback for breakpoint location 1.1: where = rs-debugger`rs_debugger::main::{{closure}} + 54 at main.rs:9:23, address = 0x000055555556add6, resolved, hit count = 2 

[DEBUG codelldb::debug_session] Debug event: 0x7f9930000cd0 Event: broadcaster = 0x55dac7a86608 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x55dac7a865d0 (pid = 556), state = stopped}
[DEBUG codelldb::dap_codec] <-- {"seq":35,"type":"event","event":"stopped","body":{"allThreadsStopped":true,"reason":"breakpoint","threadId":1062}}
[DEBUG codelldb::dap_codec] --> {"command":"threads","type":"request","seq":18}
[DEBUG codelldb::dap_codec] <-- {"seq":36,"type":"response","request_seq":18,"success":true,"command":"threads","body":{"threads":[{"id":556,"name":"1: tid=556 \"rs-debugger\""},{"id":1062,"name":"2: tid=1062 \"rs-debugger\""},{"id":1063,"name":"3: tid=1063 \"rs-debugger\""},{"id":1064,"name":"4: tid=1064 \"rs-debugger\""},{"id":1065,"name":"5: tid=1065 \"rs-debugger\""},{"id":1066,"name":"6: tid=1066 \"rs-debugger\""},{"id":1067,"name":"7: tid=1067 \"rs-debugger\""},{"id":1068,"name":"8: tid=1068 \"rs-debugger\""},{"id":1069,"name":"9: tid=1069 \"rs-debugger\""}]}}
[DEBUG codelldb::dap_codec] --> {"command":"stackTrace","arguments":{"threadId":1062,"startFrame":0,"levels":1},"type":"request","seq":19}
[DEBUG codelldb::dap_codec] <-- {"seq":37,"type":"response","request_seq":19,"success":true,"command":"stackTrace","body":{"stackFrames":[{"column":23,"id":1025,"instructionPointerReference":"0x55555556ADD6","line":9,"name":"rs_debugger::main::{{closure}}","source":{"name":"main.rs","path":"/workspaces/rs-debugger/src/main.rs"}}]}}
[DEBUG codelldb::dap_codec] --> {"command":"scopes","arguments":{"frameId":1025},"type":"request","seq":20}
[DEBUG codelldb::dap_codec] <-- {"seq":38,"type":"response","request_seq":20,"success":true,"command":"scopes","body":{"scopes":[{"expensive":false,"name":"Local","variablesReference":1026},{"expensive":false,"name":"Static","variablesReference":1027},{"expensive":false,"name":"Global","variablesReference":1028},{"expensive":false,"name":"Registers","variablesReference":1029}]}}
[DEBUG codelldb::dap_codec] --> {"command":"stackTrace","arguments":{"threadId":1062,"startFrame":1,"levels":19},"type":"request","seq":21}
[DEBUG codelldb::disassembly] rs-debugger`core::ops::function::impls:: for &F>::call_mut + 34 at function.rs:272:13
[DEBUG codelldb::disassembly] rs-debugger`core::ops::function::impls:: for &mut F>::call_once + 31 at function.rs:305:13
[DEBUG codelldb::disassembly] rs-debugger` as core::iter::traits::iterator::Iterator>::next + 142 [inlined] core::option::Option::map + 78 at option.rs:1072:29
    rs-debugger` as core::iter::traits::iterator::Iterator>::next + 64 at map.rs:103:26
[DEBUG codelldb::disassembly] rs-debugger` as core::ops::function::FnOnce<()>>::call_once + 42 at unwind_safe.rs:272:9
[DEBUG codelldb::disassembly] rs-debugger`std::panicking::try::do_call + 73 at panicking.rs:552:40
[DEBUG codelldb::disassembly] rs-debugger`__rust_try + 27
[DEBUG codelldb::disassembly] rs-debugger`std::panicking::try + 89 at panicking.rs:516:19
[DEBUG codelldb::disassembly] rs-debugger`std::panic::catch_unwind + 13 at panic.rs
[DEBUG codelldb::dap_codec] <-- {"seq":39,"type":"response","request_seq":21,"success":true,"command":"stackTrace","body":{"stackFrames":[{"column":0,"id":1030,"instructionPointerReference":"0x55555556AD62","line":11,"name":"core::ops::function::impls:: for &F>::call_mut","presentationHint":"subtle","source":{"name":"@core::ops::function::impls:: for &F>::call_mut","sourceReference":1009}},{"column":0,"id":1031,"instructionPointerReference":"0x55555556AD8F","line":10,"name":"core::ops::function::impls:: for &mut F>::call_once","presentationHint":"subtle","source":{"name":"@core::ops::function::impls:: for &mut F>::call_once","sourceReference":1010}},{"column":0,"id":1032,"instructionPointerReference":"0x55555556672E","line":33,"name":"core::option::Option::map","presentationHint":"subtle","source":{"name":"@ as core::iter::traits::iterator::Iterator>::next","sourceReference":1011}},{"column":0,"id":1033,"instructionPointerReference":"0x5555555666E0","line":16,"name":" as core::iter::traits::iterator::Iterator>::next","presentationHint":"subtle","source":{"name":"@ as core::iter::traits::iterator::Iterator>::next","sourceReference":1011}},{"column":21,"id":1034,"instructionPointerReference":"0x55555556D245","line":178,"name":"rayon::iter::plumbing::Folder::consume_iter","source":{"name":"mod.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-1.8.0/src/iter/plumbing/mod.rs"}},{"column":21,"id":1035,"instructionPointerReference":"0x555555575164","line":248,"name":" as rayon::iter::plumbing::Folder>::consume_iter","source":{"name":"map.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-1.8.0/src/iter/map.rs"}},{"column":9,"id":1036,"instructionPointerReference":"0x555555566DF3","line":110,"name":"rayon::iter::plumbing::Producer::fold_with","source":{"name":"mod.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-1.8.0/src/iter/plumbing/mod.rs"}},{"column":13,"id":1037,"instructionPointerReference":"0x55555556820F","line":438,"name":"rayon::iter::plumbing::bridge_producer_consumer::helper","source":{"name":"mod.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-1.8.0/src/iter/plumbing/mod.rs"}},{"column":21,"id":1038,"instructionPointerReference":"0x55555556879A","line":427,"name":"rayon::iter::plumbing::bridge_producer_consumer::helper::{{closure}}","source":{"name":"mod.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-1.8.0/src/iter/plumbing/mod.rs"}},{"column":25,"id":1039,"instructionPointerReference":"0x555555563E03","line":129,"name":"rayon_core::join::join_context::call_b::{{closure}}","source":{"name":"mod.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.0/src/join/mod.rs"}},{"column":41,"id":1040,"instructionPointerReference":"0x555555564A38","line":218,"name":"rayon_core::job::JobResult::call::{{closure}}","source":{"name":"job.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.0/src/job.rs"}},{"column":0,"id":1041,"instructionPointerReference":"0x555555566BFA","line":12,"name":" as core::ops::function::FnOnce<()>>::call_once","presentationHint":"subtle","source":{"name":"@ as core::ops::function::FnOnce<()>>::call_once","sourceReference":1012}},{"column":0,"id":1042,"instructionPointerReference":"0x55555556FCF9","line":16,"name":"std::panicking::try::do_call","presentationHint":"subtle","source":{"name":"@std::panicking::try::do_call","sourceReference":1013}},{"column":0,"id":1043,"instructionPointerReference":"0x55555557042B","line":10,"name":"__rust_try","presentationHint":"subtle","source":{"name":"@__rust_try","sourceReference":1014}},{"column":0,"id":1044,"instructionPointerReference":"0x55555556F669","line":19,"name":"std::panicking::try","presentationHint":"subtle","source":{"name":"@std::panicking::try","sourceReference":1015}},{"column":0,"id":1045,"instructionPointerReference":"0x5555555670BD","line":7,"name":"std::panic::catch_unwind","presentationHint":"subtle","source":{"name":"@std::panic::catch_unwind","sourceReference":1016}},{"column":5,"id":1046,"instructionPointerReference":"0x5555555749BC","line":17,"name":"rayon_core::unwind::halt_unwinding","source":{"name":"unwind.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.0/src/unwind.rs"}},{"column":15,"id":1047,"instructionPointerReference":"0x55555556471E","line":218,"name":"rayon_core::job::JobResult::call","source":{"name":"job.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.0/src/job.rs"}},{"column":32,"id":1048,"instructionPointerReference":"0x555555565BE2","line":120,"name":" as rayon_core::job::Job>::execute","source":{"name":"job.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.0/src/job.rs"}}]}}
[DEBUG codelldb::dap_codec] --> {"command":"variables","arguments":{"variablesReference":1026},"type":"request","seq":22}
[DEBUG codelldb::dap_codec] <-- {"seq":40,"type":"response","request_seq":22,"success":true,"command":"variables","body":{"variables":[{"evaluateName":"","memoryReference":"0x7FFFF7DB7678","name":"","presentationHint":{"attributes":["readOnly"]},"type":"&rs_debugger::main::{closure_env#0}","value":"0x00007fffffffde48","variablesReference":1049},{"evaluateName":"cmd_str","memoryReference":"0x7FFFF7DB7680","name":"cmd_str","presentationHint":{"attributes":["readOnly"]},"type":"&str","value":"\"ls\"","variablesReference":1050}]}}
[DEBUG codelldb::dap_codec] --> {"command":"next","arguments":{"threadId":1062},"type":"request","seq":23}
[DEBUG codelldb::dap_codec] <-- {"seq":41,"type":"response","request_seq":23,"success":true,"command":"next"}
[DEBUG codelldb::debug_session] Debug event: 0x7f993c0d40e0 Event: broadcaster = 0x55dac7a86608 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x55dac7a865d0 (pid = 556), state = running}
[DEBUG codelldb::dap_codec] <-- {"seq":42,"type":"event","event":"continued","body":{"allThreadsContinued":true,"threadId":556}}
[DEBUG codelldb::debug_session] Debug event: 0x7f9930003310 Event: broadcaster = 0x55dac7a86608 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x55dac7a865d0 (pid = 556), state = stopped}
[DEBUG codelldb::dap_codec] <-- {"seq":43,"type":"event","event":"stopped","body":{"allThreadsStopped":true,"reason":"step","threadId":1062}}
[DEBUG codelldb::dap_codec] --> {"command":"threads","type":"request","seq":24}
[DEBUG codelldb::dap_codec] <-- {"seq":44,"type":"response","request_seq":24,"success":true,"command":"threads","body":{"threads":[{"id":556,"name":"1: tid=556 \"rs-debugger\""},{"id":1062,"name":"2: tid=1062 \"rs-debugger\""},{"id":1063,"name":"3: tid=1063 \"rs-debugger\""},{"id":1064,"name":"4: tid=1064 \"rs-debugger\""},{"id":1065,"name":"5: tid=1065 \"rs-debugger\""},{"id":1066,"name":"6: tid=1066 \"rs-debugger\""},{"id":1067,"name":"7: tid=1067 \"rs-debugger\""},{"id":1068,"name":"8: tid=1068 \"rs-debugger\""},{"id":1069,"name":"9: tid=1069 \"rs-debugger\""}]}}
[DEBUG codelldb::dap_codec] --> {"command":"stackTrace","arguments":{"threadId":1062,"startFrame":0,"levels":1},"type":"request","seq":25}
[DEBUG codelldb::dap_codec] <-- {"seq":45,"type":"response","request_seq":25,"success":true,"command":"stackTrace","body":{"stackFrames":[{"column":22,"id":1025,"instructionPointerReference":"0x55555556ADE0","line":10,"name":"rs_debugger::main::{{closure}}","source":{"name":"main.rs","path":"/workspaces/rs-debugger/src/main.rs"}}]}}
[DEBUG codelldb::dap_codec] --> {"command":"scopes","arguments":{"frameId":1025},"type":"request","seq":26}
[DEBUG codelldb::dap_codec] <-- {"seq":46,"type":"response","request_seq":26,"success":true,"command":"scopes","body":{"scopes":[{"expensive":false,"name":"Local","variablesReference":1026},{"expensive":false,"name":"Static","variablesReference":1027},{"expensive":false,"name":"Global","variablesReference":1028},{"expensive":false,"name":"Registers","variablesReference":1029}]}}
[DEBUG codelldb::dap_codec] --> {"command":"variables","arguments":{"variablesReference":1026},"type":"request","seq":27}
[DEBUG codelldb::dap_codec] <-- {"seq":47,"type":"response","request_seq":27,"success":true,"command":"variables","body":{"variables":[{"evaluateName":"","memoryReference":"0x7FFFF7DB7678","name":"","presentationHint":{"attributes":["readOnly"]},"type":"&rs_debugger::main::{closure_env#0}","value":"0x00007fffffffde48","variablesReference":1049},{"evaluateName":"cmd_str","memoryReference":"0x7FFFF7DB7680","name":"cmd_str","presentationHint":{"attributes":["readOnly"]},"type":"&str","value":"\"ls\"","variablesReference":1050},{"evaluateName":"cmd","memoryReference":"0x7FFFF7DB7570","name":"cmd","presentationHint":{"attributes":["readOnly"]},"type":"std::process::Command","value":"{...}","variablesReference":1051}]}}
[DEBUG codelldb::dap_codec] --> {"command":"stackTrace","arguments":{"threadId":1062,"startFrame":1,"levels":19},"type":"request","seq":28}
[DEBUG codelldb::dap_codec] <-- {"seq":48,"type":"response","request_seq":28,"success":true,"command":"stackTrace","body":{"stackFrames":[{"column":0,"id":1030,"instructionPointerReference":"0x55555556AD62","line":11,"name":"core::ops::function::impls:: for &F>::call_mut","presentationHint":"subtle","source":{"name":"@core::ops::function::impls:: for &F>::call_mut","sourceReference":1009}},{"column":0,"id":1031,"instructionPointerReference":"0x55555556AD8F","line":10,"name":"core::ops::function::impls:: for &mut F>::call_once","presentationHint":"subtle","source":{"name":"@core::ops::function::impls:: for &mut F>::call_once","sourceReference":1010}},{"column":0,"id":1032,"instructionPointerReference":"0x55555556672E","line":33,"name":"core::option::Option::map","presentationHint":"subtle","source":{"name":"@ as core::iter::traits::iterator::Iterator>::next","sourceReference":1011}},{"column":0,"id":1033,"instructionPointerReference":"0x5555555666E0","line":16,"name":" as core::iter::traits::iterator::Iterator>::next","presentationHint":"subtle","source":{"name":"@ as core::iter::traits::iterator::Iterator>::next","sourceReference":1011}},{"column":21,"id":1034,"instructionPointerReference":"0x55555556D245","line":178,"name":"rayon::iter::plumbing::Folder::consume_iter","source":{"name":"mod.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-1.8.0/src/iter/plumbing/mod.rs"}},{"column":21,"id":1035,"instructionPointerReference":"0x555555575164","line":248,"name":" as rayon::iter::plumbing::Folder>::consume_iter","source":{"name":"map.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-1.8.0/src/iter/map.rs"}},{"column":9,"id":1036,"instructionPointerReference":"0x555555566DF3","line":110,"name":"rayon::iter::plumbing::Producer::fold_with","source":{"name":"mod.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-1.8.0/src/iter/plumbing/mod.rs"}},{"column":13,"id":1037,"instructionPointerReference":"0x55555556820F","line":438,"name":"rayon::iter::plumbing::bridge_producer_consumer::helper","source":{"name":"mod.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-1.8.0/src/iter/plumbing/mod.rs"}},{"column":21,"id":1038,"instructionPointerReference":"0x55555556879A","line":427,"name":"rayon::iter::plumbing::bridge_producer_consumer::helper::{{closure}}","source":{"name":"mod.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-1.8.0/src/iter/plumbing/mod.rs"}},{"column":25,"id":1039,"instructionPointerReference":"0x555555563E03","line":129,"name":"rayon_core::join::join_context::call_b::{{closure}}","source":{"name":"mod.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.0/src/join/mod.rs"}},{"column":41,"id":1040,"instructionPointerReference":"0x555555564A38","line":218,"name":"rayon_core::job::JobResult::call::{{closure}}","source":{"name":"job.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.0/src/job.rs"}},{"column":0,"id":1041,"instructionPointerReference":"0x555555566BFA","line":12,"name":" as core::ops::function::FnOnce<()>>::call_once","presentationHint":"subtle","source":{"name":"@ as core::ops::function::FnOnce<()>>::call_once","sourceReference":1012}},{"column":0,"id":1042,"instructionPointerReference":"0x55555556FCF9","line":16,"name":"std::panicking::try::do_call","presentationHint":"subtle","source":{"name":"@std::panicking::try::do_call","sourceReference":1013}},{"column":0,"id":1043,"instructionPointerReference":"0x55555557042B","line":10,"name":"__rust_try","presentationHint":"subtle","source":{"name":"@__rust_try","sourceReference":1014}},{"column":0,"id":1044,"instructionPointerReference":"0x55555556F669","line":19,"name":"std::panicking::try","presentationHint":"subtle","source":{"name":"@std::panicking::try","sourceReference":1015}},{"column":0,"id":1045,"instructionPointerReference":"0x5555555670BD","line":7,"name":"std::panic::catch_unwind","presentationHint":"subtle","source":{"name":"@std::panic::catch_unwind","sourceReference":1016}},{"column":5,"id":1046,"instructionPointerReference":"0x5555555749BC","line":17,"name":"rayon_core::unwind::halt_unwinding","source":{"name":"unwind.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.0/src/unwind.rs"}},{"column":15,"id":1047,"instructionPointerReference":"0x55555556471E","line":218,"name":"rayon_core::job::JobResult::call","source":{"name":"job.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.0/src/job.rs"}},{"column":32,"id":1048,"instructionPointerReference":"0x555555565BE2","line":120,"name":" as rayon_core::job::Job>::execute","source":{"name":"job.rs","path":"/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-core-1.12.0/src/job.rs"}}]}}
[DEBUG codelldb::dap_codec] --> {"command":"next","arguments":{"threadId":1062},"type":"request","seq":29}
[DEBUG codelldb::dap_codec] <-- {"seq":49,"type":"response","request_seq":29,"success":true,"command":"next"}
[DEBUG codelldb::debug_session] Debug event: 0x55dac7bb5090 Event: broadcaster = 0x55dac7a86608 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x55dac7a865d0 (pid = 556), state = running}
[DEBUG codelldb::dap_codec] <-- {"seq":50,"type":"event","event":"continued","body":{"allThreadsContinued":true,"threadId":556}}
[DEBUG codelldb::debug_session] Debug event: 0x7f9930003df0 Event: broadcaster = 0x55dac7a86608 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x55dac7a865d0 (pid = 556), state = stopped}
[DEBUG codelldb::debug_session] Debug event: 0x7f9964002cb0 Event: broadcaster = 0x55dac7a86608 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x55dac7a865d0 (pid = 556), state = running}
[DEBUG codelldb::dap_codec] <-- {"seq":51,"type":"event","event":"continued","body":{"allThreadsContinued":true,"threadId":556}}
[DEBUG codelldb::debug_session] Debug event: 0x7f99300032e0 Event: broadcaster = 0x55dac7a86608 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x55dac7a865d0 (pid = 556), state = exited}
[DEBUG codelldb::dap_codec] <-- {"seq":52,"type":"event","event":"output","body":{"category":"console","output":"Process exited with code -1.\n"}}
[DEBUG codelldb::dap_codec] <-- {"seq":53,"type":"event","event":"exited","body":{"exitCode":-1}}
[DEBUG codelldb::dap_codec] <-- {"seq":54,"type":"event","event":"terminated","body":{}}
[DEBUG codelldb::dap_codec] --> {"command":"disconnect","arguments":{"restart":false,"terminateDebuggee":false},"type":"request","seq":30}
[DEBUG codelldb::dap_codec] <-- {"seq":55,"type":"response","request_seq":30,"success":true,"command":"disconnect"}
[DEBUG codelldb::dap_session] Client has disconnected
[DEBUG codelldb::debug_session] End of the requests stream
[DEBUG codelldb::debug_session] DebugSession::drop()
[DEBUG codelldb] End of the debug session
[DEBUG codelldb] Exiting
Debug adapter exit code=0 (0x0), signal=null.
mihainstr commented 5 months ago

I have a similar situation while debugging C++ code on a linux host, the last part of the log is quite similar,. Interestingly, sometimes it works. I was able to relate it to the usage of a 3rd party library, but the behaviour is still strange as sometimes it just works. Starting the app from lldb manually works fine, and also gdb has no issues handling the app.

LE: OS: pop 22.04, VSCode 1.85.2 codelldb: 1.10-dev (I installed the latest at some point hoping that it will fix it), compiler: gcc 11+

Here is the last part of my log:

[DEBUG codelldb::debug_session] Debug event: 0x77280c007690 Event: broadcaster = 0x5da2ce3a51d8 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x5da2ce3a51a0 (pid = 65419), state = stopped}
[DEBUG codelldb::debug_session] Debug event: 0x7727a845ade0 Event: broadcaster = 0x5da2ce3a51d8 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x5da2ce3a51a0 (pid = 65419), state = running}
[DEBUG codelldb::dap_codec] <-- {"seq":71,"type":"event","event":"continued","body":{"allThreadsContinued":true,"threadId":65419}}
[DEBUG codelldb::debug_session] Debug event: 0x77280c0077a0 Event: broadcaster = 0x5da2ce3a51d8 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x5da2ce3a51a0 (pid = 65419), state = stopped}
[DEBUG codelldb::debug_session] Debug event: 0x7727a847f9f0 Event: broadcaster = 0x5da2ce3a51d8 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x5da2ce3a51a0 (pid = 65419), state = running}
[DEBUG codelldb::dap_codec] <-- {"seq":72,"type":"event","event":"continued","body":{"allThreadsContinued":true,"threadId":65419}}
[DEBUG codelldb::debug_session] Debug event: 0x77280c000cd0 Event: broadcaster = 0x5da2ce3a51d8 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x5da2ce3a51a0 (pid = 65419), state = stopped}
[DEBUG codelldb::debug_session] Debug event: 0x7727a845a090 Event: broadcaster = 0x5da2ce3a51d8 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x5da2ce3a51a0 (pid = 65419), state = running}
[DEBUG codelldb::dap_codec] <-- {"seq":73,"type":"event","event":"continued","body":{"allThreadsContinued":true,"threadId":65419}}
[DEBUG codelldb::debug_session] Debug event: 0x77280c007880 Event: broadcaster = 0x5da2ce3a51d8 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x5da2ce3a51a0 (pid = 65419), state = exited}
[DEBUG codelldb::dap_codec] <-- {"seq":74,"type":"event","event":"output","body":{"category":"console","output":"Process exited with code -1.\n"}}
[DEBUG codelldb::dap_codec] <-- {"seq":75,"type":"event","event":"exited","body":{"exitCode":-1}}
[DEBUG codelldb::dap_codec] <-- {"seq":76,"type":"event","event":"terminated","body":{}}
[DEBUG codelldb::dap_codec] --> {"command":"disconnect","arguments":{"restart":false,"terminateDebuggee":false},"type":"request","seq":12}
[DEBUG codelldb::dap_codec] <-- {"seq":77,"type":"response","request_seq":12,"success":true,"command":"disconnect"}
[DEBUG codelldb::dap_session] Client has disconnected
[DEBUG codelldb::debug_session] End of the requests stream
[DEBUG codelldb::debug_session] DebugSession::drop()
[DEBUG codelldb] End of the debug session
[DEBUG codelldb] Exiting