"description":"Arguments to append after the executable. You can also use pipes."
},
"terminal":{
"type":"string",
"description":"Leave this field undefined to keep program output in the vscode console at the bottom. If this is set to empty string the program will spawn in a new console using x-terminal-emulator on linux, otherwise with the specified terminal. On windows setting this to an empty string spawns the program in a console, but no other console is supported."
},
"cwd":{
"type":"string",
"description":"project path"
},
"gdbpath":{
"type":"string",
"description":"Path to the gdb executable or the command if in PATH",
"default":"gdb"
},
"env":{
"type":"object",
"description":"Environment overriding the gdb (and in turn also the process) environment",
"default":null
},
"debugger_args":{
"type":"array",
"description":"Additional arguments to pass to GDB",
"default":[]
},
"pathSubstitutions":{
"type":"object",
"description":"Help GDB find your source using path substitutions (GDB `substitute-path)` variable",
"default":{
"<fromPath>":"<toPath>"
}
},
"valuesFormatting":{
"type":"string",
"description":"Set the way of showing variable values. 'disabled' - show value as is, 'parseText' - parse debuggers output text into structure, 'prettyPrinters' - enable debuggers custom pretty-printers if there are any",
"default":"parseText",
"enum":[
"disabled",
"parseText",
"prettyPrinters"
]
},
"printCalls":{
"type":"boolean",
"description":"Prints all GDB calls to the console",
"default":false
},
"showDevDebugOutput":{
"type":"boolean",
"description":"Prints all GDB responses to the console",
"default":false
},
"autorun":{
"type":"array",
"description":"GDB commands to run when starting to debug",
"default":[]
},
"stopAtEntry":{
"type":["boolean","string"],
"description":"Whether debugger should stop at application entry point",
"default":false
},
"ssh":{
"required":[
"host",
"user",
"cwd"
],
"type":"object",
"description":"If this is set then the extension will connect to an ssh host and run GDB there",
"properties":{
"host":{
"type":"string",
"description":"Remote host name/ip to connect to"
},
"port":{
"type":["number","string"],
"description":"Remote port number",
"default":22
},
"user":{
"type":"string",
"description":"Username to connect as"
},
"password":{
"type":"string",
"description":"Plain text password (unsafe; if possible use keyfile instead)"
},
"keyfile":{
"type":"string",
"description":"Absolute path to private key"
},
"useAgent":{
"type":"boolean",
"description":"Auto-detect the running SSH agent (via SSH_AUTH_SOCK environment variable) and use it to perform authentication",
"default":false
},
"sourceFileMap":{
"type":"object",
"description":"Mapping of source paths (from GDB on ssh remote) to local (IDE) paths.",
"default":{
"<sourcePath>":"<localPath>"
}
},
"cwd":{
"type":"string",
"description":"Working directory for the debugger.\nIf `ssh.sourceFileMap` is not set, then this is also the project path on the remote for mapping with `cwd`."
},
"forwardX11":{
"type":"boolean",
"description":"If true, the server will redirect x11 to the local host",
"default":true
},
"x11port":{
"type":["number","string"],
"description":"Port to redirect X11 data to (by default port = display + 6000)",
"default":6000
},
"x11host":{
"type":"string",
"description":"Hostname/ip to redirect X11 data to",
"default":"localhost"
},
"remotex11screen":{
"type":"number",
"description":"Screen to start the application on the remote side",
"default":0
},
"bootstrap":{
"type":"string",
"description":"Content will be executed on the SSH host before the debugger call."
}
}
}
}
},
"attach":{
"required":[
"target",
"cwd"
],
"properties":{
"target":{
"type":"string",
"description":"PID of running program or program name or connection arguments (eg :2345) if remote is true"
},
"remote":{
"type":"boolean",
"description":"If true this will connect to a gdbserver instead of attaching to a PID",
"default":false
},
"valuesFormatting":{
"type":"string",
"description":"Set the way of showing variable values. 'disabled' - show value as is, 'parseText' - parse debuggers output text into structure, 'prettyPrinters' - enable debuggers custom pretty-printers if there are any",
"default":"parseText",
"enum":[
"disabled",
"parseText",
"prettyPrinters"
]
},
"printCalls":{
"type":"boolean",
"description":"Prints all GDB calls to the console",
"default":false
},
"showDevDebugOutput":{
"type":"boolean",
"description":"Prints all GDB responses to the console",
"default":false
},
"executable":{
"type":"string",
"description":"Path of executable for debugging symbols"
},
"gdbpath":{
"type":"string",
"description":"Path to the gdb executable or the command if in PATH",
"default":"gdb"
},
"env":{
"type":"object",
"description":"Environment overriding the gdb (and in turn also the process) environment",
"default":null
},
"debugger_args":{
"type":"array",
"description":"Additional arguments to pass to GDB",
"default":[]
},
"pathSubstitutions":{
"type":"object",
"description":"Help GDB find your source using path substitutions (GDB `substitute-path)` variable",
"default":{
"<fromPath>":"<toPath>"
}
},
"cwd":{
"type":"string",
"description":"project path",
"default":"${workspaceRoot}"
},
"autorun":{
"type":"array",
"description":"GDB commands to run when starting to debug",
"default":[]
},
"stopAtConnect":{
"type":"boolean",
"description":"Whether debugger should stop after connecting to target",
"default":false
},
"stopAtEntry":{
"type":["boolean","string"],
"description":"Whether debugger should stop at application entry point",
"default":false
},
"ssh":{
"required":[
"host",
"cwd",
"user"
],
"type":"object",
"description":"If this is set then the extension will connect to an ssh host and run GDB there",
"properties":{
"host":{
"type":"string",
"description":"Remote host name/ip to connect to"
},
"port":{
"type":["number","string"],
"description":"Remote port number",
"default":22
},
"user":{
"type":"string",
"description":"Username to connect as"
},
"password":{
"type":"string",
"description":"Plain text password (unsafe; if possible use keyfile instead)"
},
"keyfile":{
"type":"string",
"description":"Absolute path to private key"
},
"useAgent":{
"type":"boolean",
"description":"Auto-detect the running SSH agent (via SSH_AUTH_SOCK environment variable) and use it to perform authentication",
"default":false
},
"sourceFileMap":{
"type":"object",
"description":"Mapping of source paths (from GDB on ssh remote) to local (IDE) paths.",
"default":{
"<sourcePath>":"<localPath>"
}
},
"cwd":{
"type":"string",
"description":"Working directory for the debugger.\nIf `ssh.sourceFileMap` is not set, then this is also the project path on the remote for mapping with `cwd`."
},
"forwardX11":{
"type":"boolean",
"description":"If true, the server will redirect x11 to the local host",
"default":true
},
"x11port":{
"type":["number","string"],
"description":"Port to redirect X11 data to (by default port = display + 6000)",
"default":6000
},
"x11host":{
"type":"string",
"description":"Hostname/ip to redirect X11 data to",
"default":"localhost"
},
"remotex11screen":{
"type":"number",
"description":"Screen to start the application on the remote side",
"default":0
},
"bootstrap":{
"type":"string",
"description":"Content will be executed on the SSH host before the debugger call."
}
}
}
}
}
},
"initialConfigurations":[
{
"name":"Debug",
"type":"gdb",
"request":"launch",
"target":"./bin/executable",
"cwd":"${workspaceRoot}",
"valuesFormatting":"parseText"
}
],
"configurationSnippets":[
{
"label":"GDB: Launch Program",
"description":"Starts the program using gdb",
"body":{
"type":"gdb",
"request":"launch",
"name":"${2:Launch Program}",
"target":"${1:./bin/executable}",
"cwd":"^\"\\${workspaceRoot}\"",
"valuesFormatting":"parseText"
}
},
{
"label":"GDB: Attach to PID",
"description":"Attaches to a running program pid using gdb",
"body":{
"type":"gdb",
"request":"attach",
"name":"${2:Attach to PID}",
"target":"${1:[PID]}",
"cwd":"^\"\\${workspaceRoot}\"",
"valuesFormatting":"parseText"
}
},
{
"label":"GDB: Connect to gdbserver",
"description":"Connects to a gdbserver for debugging",
"body":{
"type":"gdb",
"request":"attach",
"name":"${3:Attach to gdbserver}",
"executable":"${1:./bin/executable}",
"target":":${2:2345}",
"remote":true,
"cwd":"^\"\\${workspaceRoot}\"",
"valuesFormatting":"parseText"
}
},
{
"label":"GDB: Launch over SSH",
"description":"Remotely starts the program using gdb",
"description":"Arguments to append after the executable"
},
"cwd":{
"type":"string",
"description":"project path"
},
"lldbmipath":{
"type":"string",
"description":"Path to the lldb-mi executable or the command if in PATH",
"default":"lldb-mi"
},
"env":{
"type":"object",
"description":"Environment overriding the lldb-mi (and in turn also the process) environment",
"default":null
},
"debugger_args":{
"type":"array",
"description":"Additional arguments to pass to LLDB",
"default":[]
},
"pathSubstitutions":{
"type":"object",
"description":"Help LLDB find your source using path substitutions (LLDB `target.source-map)` variable",
"default":{
"<fromPath>":"<toPath>"
}
},
"valuesFormatting":{
"type":"string",
"description":"Set the way of showing variable values. 'disabled' - show value as is, 'parseText' - parse debuggers output text into structure, 'prettyPrinters' - enable debuggers custom pretty-printers if there are any",
"default":"parseText",
"enum":[
"disabled",
"parseText",
"prettyPrinters"
]
},
"printCalls":{
"type":"boolean",
"description":"Prints all lldb calls to the console",
"default":false
},
"showDevDebugOutput":{
"type":"boolean",
"description":"Prints all lldb responses to the console",
"default":false
},
"autorun":{
"type":"array",
"description":"lldb commands to run when starting to debug",
"default":[]
},
"stopAtEntry":{
"type":["boolean","string"],
"description":"Whether debugger should stop at application entry point",
"default":false
},
"ssh":{
"required":[
"host",
"cwd",
"user"
],
"type":"object",
"description":"If this is set then the extension will connect to an ssh host and run lldb there",
"properties":{
"host":{
"type":"string",
"description":"Remote host name/ip to connect to"
},
"port":{
"type":["number","string"],
"description":"Remote port number",
"default":22
},
"user":{
"type":"string",
"description":"Username to connect as"
},
"password":{
"type":"string",
"description":"Plain text password (unsafe; if possible use keyfile instead)"
},
"keyfile":{
"type":"string",
"description":"Absolute path to private key"
},
"useAgent":{
"type":"boolean",
"description":"Auto-detect the running SSH agent (via SSH_AUTH_SOCK environment variable) and use it to perform authentication",
"default":false
},
"sourceFileMap":{
"type":"object",
"description":"Mapping of source paths (from GDB on ssh remote) to local (IDE) paths.",
"default":{
"<sourcePath>":"<localPath>"
}
},
"cwd":{
"type":"string",
"description":"Working directory for the debugger.\nIf `ssh.sourceFileMap` is not set, then this is also the project path on the remote for mapping with `cwd`."
},
"forwardX11":{
"type":"boolean",
"description":"If true, the server will redirect x11 to the local host",
"default":true
},
"x11host":{
"type":"string",
"description":"Hostname/ip to redirect X11 data to",
"default":"localhost"
},
"x11port":{
"type":["number","string"],
"description":"Port to redirect X11 data to (by default port = display + 6000)",
"default":6000
},
"remotex11screen":{
"type":"number",
"description":"Screen to start the application on the remote side",
"default":0
},
"bootstrap":{
"type":"string",
"description":"Content will be executed on the SSH host before the debugger call."
}
}
}
}
},
"attach":{
"required":[
"target"
],
"properties":{
"target":{
"type":"string",
"description":"PID of running program or program name"
},
"valuesFormatting":{
"type":"string",
"description":"Set the way of showing variable values. 'disabled' - show value as is, 'parseText' - parse debuggers output text into structure, 'prettyPrinters' - enable debuggers custom pretty-printers if there are any",
"default":"parseText",
"enum":[
"disabled",
"parseText",
"prettyPrinters"
]
},
"printCalls":{
"type":"boolean",
"description":"Prints all LLDB calls to the console",
"default":false
},
"showDevDebugOutput":{
"type":"boolean",
"description":"Prints all LLDB responses to the console",
"default":false
},
"executable":{
"type":"string",
"description":"Path of executable for debugging symbols"
},
"lldbmipath":{
"type":"string",
"description":"Path to the lldb-mi executable or the command if in PATH",
"default":"lldb-mi"
},
"env":{
"type":"object",
"description":"Environment overriding the lldb-mi (and in turn also the process) environment",
"default":null
},
"debugger_args":{
"type":"array",
"description":"Additional arguments to pass to LLDB",
"default":[]
},
"pathSubstitutions":{
"type":"object",
"description":"Help LLDB find your source using path substitutions (LLDB `target.source-map)` variable",
"default":{
"<fromPath>":"<toPath>"
}
},
"cwd":{
"type":"string",
"description":"project path",
"default":"${workspaceRoot}"
},
"autorun":{
"type":"array",
"description":"lldb commands to run when starting to debug",
"default":[]
},
"stopAtConnect":{
"type":"boolean",
"description":"Whether debugger should stop after connecting to target",
"default":false
},
"stopAtEntry":{
"type":["boolean","string"],
"description":"Whether debugger should stop at application entry point",
"default":false
}
}
}
},
"initialConfigurations":[
{
"name":"Debug",
"type":"lldb-mi",
"request":"launch",
"target":"./bin/executable",
"cwd":"${workspaceRoot}",
"valuesFormatting":"parseText"
}
],
"configurationSnippets":[
{
"label":"LLDB: Launch Program",
"description":"Starts the program using lldb-mi",
"body":{
"type":"lldb-mi",
"request":"launch",
"name":"${2:Launch Program}",
"target":"${1:./bin/executable}",
"cwd":"^\"\\${workspaceRoot}\"",
"valuesFormatting":"parseText"
}
},
{
"label":"LLDB: Attach to PID",
"description":"Attaches to a running program pid using lldb-mi",
"body":{
"type":"lldb-mi",
"request":"attach",
"name":"${2:Attach to PID}",
"target":"${1:[PID]}",
"cwd":"^\"\\${workspaceRoot}\"",
"valuesFormatting":"parseText"
}
},
{
"label":"LLDB: Launch over SSH",
"description":"Remotely starts the program using lldb-mi",
"body":{
"type":"lldb-mi",
"request":"launch",
"name":"${6:Launch Program (SSH)}",
"target":"${1:./bin/executable}",
"cwd":"^\"\\${workspaceRoot}\"",
"ssh":{
"host":"${2:127.0.0.1}",
"cwd":"${3:/home/remote_user/project/}",
"keyfile":"${4:/home/my_user/.ssh/id_rsa}",
"user":"${5:remote_user}"
},
"valuesFormatting":"parseText"
}
},
{
"label":"LLDB: Launch GUI over SSH with X11 forwarding",
"description":"Remotely starts the program using lldb-mi with X11 forwarding",
"description":"Arguments to append after the executable"
},
"cwd":{
"type":"string",
"description":"project path"
},
"magomipath":{
"type":"string",
"description":"Path to the mago-mi executable or the command if in PATH",
"default":"mago-mi"
},
"env":{
"type":"object",
"description":"Environment overriding the mago-mi (and in turn also the process) environment",
"default":null
},
"debugger_args":{
"type":"array",
"description":"Additional arguments to pass to mago",
"default":[]
},
"valuesFormatting":{
"type":"string",
"description":"Set the way of showing variable values. 'disabled' - show value as is, 'parseText' - parse debuggers output text into structure, 'prettyPrinters' - enable debuggers custom pretty-printers if there are any",
"default":"parseText",
"enum":[
"disabled",
"parseText",
"prettyPrinters"
]
},
"printCalls":{
"type":"boolean",
"description":"Prints all mago calls to the console",
"default":false
},
"showDevDebugOutput":{
"type":"boolean",
"description":"Prints all mago responses to the console",
"default":false
},
"autorun":{
"type":"array",
"description":"mago commands to run when starting to debug",
"default":[]
}
}
},
"attach":{
"required":[
"target"
],
"properties":{
"target":{
"type":"string",
"description":"PID of running program or program name"
},
"valuesFormatting":{
"type":"string",
"description":"Set the way of showing variable values. 'disabled' - show value as is, 'parseText' - parse debuggers output text into structure, 'prettyPrinters' - enable debuggers custom pretty-printers if there are any",
"default":"parseText",
"enum":[
"disabled",
"parseText",
"prettyPrinters"
]
},
"printCalls":{
"type":"boolean",
"description":"Prints all mago calls to the console",
"default":false
},
"showDevDebugOutput":{
"type":"boolean",
"description":"Prints all mago responses to the console",
"default":false
},
"executable":{
"type":"string",
"description":"Path of executable for debugging symbols"
},
"magomipath":{
"type":"string",
"description":"Path to the mago-mi executable or the command if in PATH",
"default":"mago-mi"
},
"env":{
"type":"object",
"description":"Environment overriding the mago-mi (and in turn also the process) environment",
"default":null
},
"debugger_args":{
"type":"array",
"description":"Additional arguments to pass to mago",
"default":[]
},
"cwd":{
"type":"string",
"description":"project path",
"default":"${workspaceRoot}"
},
"autorun":{
"type":"array",
"description":"mago commands to run when starting to debug",
"default":[]
},
"stopAtConnect":{
"type":"boolean",
"description":"Whether debugger should stop after connecting to target",
"default":false
}
}
}
},
"initialConfigurations":[
{
"name":"Debug",
"type":"mago-mi",
"request":"launch",
"target":"./bin/executable",
"cwd":"${workspaceRoot}",
"valuesFormatting":"parseText"
}
],
"configurationSnippets":[
{
"label":"Mago: Launch Program",
"description":"Starts the program using mago-mi",
"body":{
"type":"mago-mi",
"request":"launch",
"name":"${2:Launch Program}",
"target":"${1:./bin/executable}",
"cwd":"^\"\\${workspaceRoot}\"",
"valuesFormatting":"parseText"
}
},
{
"label":"Mago: Attach to PID",
"description":"Attaches to a running program pid using mago-mi",