{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "inputs": [
    {
      "id": "pickPid",
      "type": "promptString",
      "description": "Enter process id"
    }
  ],
  "configurations": [
    {
      "name": "Python: Attach using Process Id",
      "type": "python",
      "request": "attach",
      "processId": "${command:pickProcess}",
      "justMyCode": true
    },
    {
      "type": "lldb",
      "request": "attach",
      "name": "Attach to veilid-server",
      "program": "${workspaceFolder}/target/debug/veilid-server",
      "pid": "${command:pickMyProcess}",
      "sourceLanguages": [
        "rust"
      ]
    },
    {
      "type": "lldb",
      "request": "attach",
      "name": "Attach to veilid-cli",
      "program": "${workspaceFolder}/target/debug/veilid-cli",
      "pid": "${command:pickMyProcess}",
      "sourceLanguages": [
        "rust"
      ]
    },
    {
      "type": "lldb",
      "request": "attach",
      "name": "Attach to veilid-flutter example",
      "program": "${workspaceFolder}/veilid-flutter/example/build/linux/x64/debug/bundle/veilid_example",
      "pid": "${command:pickMyProcess}",
      "sourceLanguages": [
        "rust",
        "dart"
      ]
    },
    {
      "type": "lldb",
      "request": "launch",
      "name": "Launch veilid-cli",
      "args": [
        "--debug"
      ],
      "program": "${workspaceFolder}/target/debug/veilid-cli",
      "windows": {
        "program": "${workspaceFolder}/target/debug/veilid-cli.exe"
      },
      "cwd": "${workspaceFolder}/target/debug/",
      "sourceLanguages": [
        "rust"
      ],
      "terminal": "console"
    },
    {
      "type": "lldb",
      "request": "launch",
      "name": "Debug veilid-server",
      "program": "${workspaceFolder}/target/debug/veilid-server",
      "args": [
        "--trace",
        "--attach=true"
      ],
      "cwd": "${workspaceFolder}/target/debug/",
      "env": {
        "RUST_BACKTRACE": "1"
      },
      "terminal": "console"
    },
    {
      "type": "lldb",
      "request": "launch",
      "name": "Debug veilid-core unit test",
      "cargo": {
        "args": [
          "test",
          "--no-run",
          "--features=rt-tokio",
          "--manifest-path",
          "veilid-core/Cargo.toml"
        ],
        "filter": {
          "kind": "cdylib",
          "name": "veilid-core"
        }
      },
      "args": [
        "${selectedText}"
      ],
      "cwd": "${workspaceFolder}/target/debug/"
    },
    {
      "type": "lldb",
      "request": "launch",
      "name": "Debug veilid-server unit test",
      "cargo": {
        "args": [
          "test",
          "--no-run",
          "--manifest-path",
          "veilid-server/Cargo.toml"
        ],
        "filter": {
          "kind": "bin",
          "name": "veilid-server"
        }
      },
      "args": [
        "${selectedText}"
      ],
      "cwd": "${workspaceFolder}/veilid-server"
    },
    {
      "type": "lldb",
      "request": "launch",
      "name": "Debug keyvaluedb-sqlite unit test",
      "cargo": {
        "args": [
          "test",
          "--no-run",
          "--manifest-path",
          "external/keyvaluedb/keyvaluedb-sqlite/Cargo.toml"
        ],
        "filter": {
          "kind": "lib",
          "name": "keyvaluedb-sqlite"
        }
      },
      "args": [
        "${selectedText}"
      ],
      "cwd": "${workspaceFolder}/external/keyvaluedb/keyvaluedb-sqlite"
    },
    {
      "type": "lldb",
      "request": "launch",
      "name": "Debug keyring unit test",
      "cargo": {
        "args": [
          "test",
          "--no-run",
          "--manifest-path",
          "external/keyring-rs/Cargo.toml"
        ],
        "filter": {
          "kind": "staticlib",
          "name": "keyring"
        }
      },
      "args": [
        "${selectedText}"
      ],
      "cwd": "${workspaceFolder}/external/keyring-rs"
    }
  ]
}