GDB.json

 1{
 2  "oneOf": [
 3    {
 4      "allOf": [
 5        {
 6          "type": "object",
 7          "required": ["request"],
 8          "properties": {
 9            "request": {
10              "type": "string",
11              "enum": ["launch"],
12              "description": "Request to launch a new process"
13            }
14          }
15        },
16        {
17          "type": "object",
18          "properties": {
19            "program": {
20              "type": "string",
21              "description": "The program to debug. This corresponds to the GDB 'file' command."
22            },
23            "args": {
24              "type": "array",
25              "items": {
26                "type": "string"
27              },
28              "description": "Command line arguments passed to the program. These strings are provided as command-line arguments to the inferior.",
29              "default": []
30            },
31            "cwd": {
32              "type": "string",
33              "description": "Working directory for the debugged program. GDB will change its working directory to this directory."
34            },
35            "env": {
36              "type": "object",
37              "description": "Environment variables for the debugged program. Each key is the name of an environment variable; each value is the value of that variable."
38            },
39            "stopAtBeginningOfMainSubprogram": {
40              "type": "boolean",
41              "description": "When true, GDB will set a temporary breakpoint at the program's main procedure, like the 'start' command.",
42              "default": false
43            },
44            "stopOnEntry": {
45              "type": "boolean",
46              "description": "When true, GDB will set a temporary breakpoint at the program's first instruction, like the 'starti' command.",
47              "default": false
48            }
49          },
50          "required": ["program"]
51        }
52      ]
53    },
54    {
55      "allOf": [
56        {
57          "type": "object",
58          "required": ["request"],
59          "properties": {
60            "request": {
61              "type": "string",
62              "enum": ["attach"],
63              "description": "Request to attach to an existing process"
64            }
65          }
66        },
67        {
68          "type": "object",
69          "properties": {
70            "pid": {
71              "type": "number",
72              "description": "The process ID to which GDB should attach."
73            },
74            "program": {
75              "type": "string",
76              "description": "The program to debug (optional). This corresponds to the GDB 'file' command. In many cases, GDB can determine which program is running automatically."
77            },
78            "target": {
79              "type": "string",
80              "description": "The target to which GDB should connect. This is passed to the 'target remote' command."
81            }
82          },
83          "required": ["pid"]
84        }
85      ]
86    }
87  ]
88}