{
  "adapters": {
    "custom-codelldb": {
      "extends": "CodeLLDB",
      "command": [
        "$HOME/Development/vimspector/CodeLLDB/build/adapter/codelldb",
        "--port", "${unusedLocalPort}"
      ]
    },
    "CodeLLDB - StopOnEntry": {
      "extends": "custom-codelldb",
      "name": "CoHostingLLDB"
    },
    "custom-cpptools": {
      "extends": "vscode-cpptools",
      "command": [
        "$HOME/Development/vimspector/MIEngine/bin/Debug/vscode/OpenDebugAD7"
      ]
    }
  },
  "configurations": {
    "Rust debug (gdb)": {
      "adapter": "vscode-cpptools",
      "configuration": {
        "request": "launch",
        "program": "${workspaceRoot}/target/debug/${workspaceRootBasename}",
        "args": ["-d", "/home/danila/Danila/work/MVN/flight/data/"],
        "cwd": "${workspaceRoot}",
        "stopAtEntry": false,
        "environment": [],
        "externalConsole": false,
        "MIMode": "gdb",
        "miDebuggerPath": "rust-gdb",
        "preLaunchTask": {
          "type": "shell",
          "command": "cargo build"
        }
      }
    },
    "CodeLLDB-custom": {
      "adapter": "custom-codelldb",
      "configuration": {
        "request": "launch",
        "program": "${workspaceRoot}/test"
      }
    },
    "CodeLLDB": {
      "adapter": "CodeLLDB",
      "configuration": {
        "request": "launch",
        "expressions": "native",
        "program": "${workspaceRoot}/test"
      }
    },
    "CodeLLDB-StopOnEntryFalse": {
      "extends": "CodeLLDB",
      "adapter": "CodeLLDB - StopOnEntry",
      "configuration": {
        "stopOnEntry": false
      }
    },
    "CodeLLDB-StopOnEntryTrue": {
      "extends": "CodeLLDB-StopOnEntryFalse",
      "configuration": {
        "stopOnEntry": true
      }
    },
    "lldb-vscode": {
      "adapter": "lldb-vscode",
      "variables": {
        "BUILDME": {
          "shell": "g++ -o ${workspaceRoot}/test -g -std=c++17 ${workspaceRoot}/test_c.cpp"
        }
      },
      "configuration": {
        "request": "launch",
        "program": "${workspaceRoot}/test",
        "stopAtEntry": true
      }
    },
    "cpptools (lldb)": {
      "adapter": "vscode-cpptools",
      "variables": {
        "BUILDME": {
          "shell": "g++ -o ${workspaceRoot}/test -g -std=c++17 ${workspaceRoot}/test_c.cpp"
        },
        "arch": {
          "shell": "uname -m"
        }
      },
      "configuration": {
        "request": "launch",
        "program": "${workspaceRoot}/test",
        "stopAtEntry": true,
        "MIMode": "lldb",
        "MIDebuggerPath": "$HOME/.vim/vimspector-conf/gadgets/macos/vscode-cpptools/debugAdapters/lldb-mi/bin/lldb-mi",
        "logging": {
          "engineLogging": true
        },
        "targetArchitecture": "${arch}"
      }
    },
    "cpptools (gdb)": {
      "adapter": "vscode-cpptools",
      "variables": {
        "BUILDME": {
          "shell": "echo ${workspaceRoot}/make all"
        }
      },
      "configuration": {
        "request": "launch",
        "program": "${workspaceRoot}/bin/main_debug",
        "stopAtEntry": true,
        "MIMode": "gdb"
      }
    },
    "cpptools-attach": {
      "extends": "cpptools (lldb)",
      "configuration": {
        "request": "attach"
      },
      "breakpoints": {
        "exception": {
          "cpp_throw": "",
          "cpp_catch": ""
        }
      }
    },
    "CodeLLDB-attach": {
      "extends": "CodeLLDB",
      "configuration": {
        "request": "attach",
        "pid": "${PickProcess(\"test\")}"
      },
      "breakpoints": {
        "exception": {
          "cpp_throw": "",
          "cpp_catch": ""
        }
      }
    }
  }
}
