• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2	"name": "lldb-vscode",
3	"displayName": "LLDB native Debug stub",
4	"version": "0.1.0",
5	"publisher": "llvm",
6	"repository": "llvm.org",
7	"description": "Debug adapter for LLDB which uses a C++ tool to interface directly with LLDB.",
8	"author": {
9		"name": "Greg Clayton",
10		"email": "clayborg@gmail.com"
11	},
12	"license": "LLVM",
13	"keywords": [
14		"multi-root ready"
15	],
16	"engines": {
17		"vscode": "^1.18.0",
18		"node": "^7.9.0"
19	},
20	"categories": [
21		"Debuggers"
22	],
23	"private": true,
24	"devDependencies": {
25		"@types/node": "7.0.43",
26		"@types/mocha": "2.2.45",
27		"typescript": "2.6.2",
28		"mocha": "4.0.1",
29		"vscode": "1.1.10",
30		"vscode-debugadapter-testsupport": "1.25.0",
31		"tslint": "5.8.0",
32		"vsce": "^1.36.3"
33	},
34	"contributes": {
35		"languages": [
36			{
37                "id": "lldb.disassembly",
38                "aliases": [
39                "Disassembly"
40                ],
41                "extensions": [
42                ".disasm"
43                ]
44			}
45		],
46		"grammars": [
47			{
48                "language": "lldb.disassembly",
49                "scopeName": "source.disassembly",
50                "path": "./syntaxes/disassembly.json"
51            }
52        ],
53		"debuggers": [
54			{
55				"type": "lldb-vscode",
56				"label": "Native LLDB Debugger",
57				"enableBreakpointsFor": {
58					"languageIds": [
59						"ada",
60						"arm",
61						"asm",
62						"c",
63						"cpp",
64						"crystal",
65						"d",
66						"fortan",
67						"fortran-modern",
68						"nim",
69						"objective-c",
70						"objectpascal",
71						"pascal",
72						"rust",
73						"swift"
74					]
75				},
76				"program": "./bin/lldb-vscode",
77				"windows": {
78					"program": "./bin/lldb-vscode.exe"
79				},
80				"configurationAttributes": {
81					"launch": {
82						"required": [
83							"program"
84						],
85						"properties": {
86							"program": {
87								"type": "string",
88								"description": "Path to the program to debug."
89							},
90							"args": {
91								"type": [
92									"array",
93									"string"
94								],
95								"description": "Program arguments.",
96								"default": []
97							},
98							"cwd": {
99								"type": "string",
100								"description": "Program working directory.",
101								"default": "${workspaceRoot}"
102							},
103							"env": {
104								"type": "array",
105								"description": "Additional environment variables.",
106								"default": []
107							},
108							"stopOnEntry": {
109								"type": "boolean",
110								"description": "Automatically stop after launch.",
111								"default": false
112							},
113							"disableASLR": {
114								"type": "boolean",
115								"description": "Enable or disable Address space layout randomization if the debugger supports it.",
116								"default": true
117							},
118							"disableSTDIO": {
119								"type": "boolean",
120								"description": "Don't retrieve STDIN, STDOUT and STDERR as the program is running.",
121								"default": false
122							},
123							"shellExpandArguments": {
124								"type": "boolean",
125								"description": "Expand program arguments as a shell would without actually launching the program in a shell.",
126								"default": false
127							},
128							"detachOnError": {
129								"type": "boolean",
130								"description": "Detach from the program.",
131								"default": false
132							},
133							"sourcePath": {
134								"type": "string",
135								"description": "Specify a source path to remap \"./\" to allow full paths to be used when setting breakpoints in binaries that have relative source paths."
136							},
137							"sourceMap": {
138								"type": "array",
139								"description": "Specify an array of path remappings; each element must itself be a two element array containing a source and destination pathname. Overrides sourcePath.",
140								"default": []
141							},
142							"debuggerRoot": {
143								"type": "string",
144								"description": "Specify a working directory to set the debug adaptor to so relative object files can be located."
145							},
146							"targetTriple": {
147								"type": "string",
148								"description": "Triplet of the target architecture to override value derived from the program file."
149							},
150							"platformName": {
151								"type": "string",
152								"description": "Name of the execution platform to override value derived from the program file."
153							},
154							"initCommands": {
155								"type": "array",
156								"description": "Initialization commands executed upon debugger startup.",
157								"default": []
158							},
159							"preRunCommands": {
160								"type": "array",
161								"description": "Commands executed just before the program is launched.",
162								"default": []
163							},
164							"launchCommands": {
165								"type": "array",
166								"description": "Custom commands that are executed instead of launching a process. A target will be created with the launch arguments prior to executing these commands. The commands may optionally create a new target and must perform a launch. A valid process must exist after these commands complete or the \"launch\" will fail.",
167								"default": []
168							},
169							"stopCommands": {
170								"type": "array",
171								"description": "Commands executed each time the program stops.",
172								"default": []
173							},
174							"exitCommands": {
175								"type": "array",
176								"description": "Commands executed at the end of debugging session.",
177								"default": []
178							},
179							"runInTerminal": {
180								"type": "boolean",
181								"description": "Launch the program inside an integrated terminal in the IDE. Useful for debugging interactive command line programs",
182								"default": false
183							}
184						}
185					},
186					"attach": {
187						"properties": {
188							"program": {
189								"type": "string",
190								"description": "Path to the program to attach to."
191							},
192							"pid": {
193								"type": [
194									"number",
195									"string"
196								],
197								"description": "System process ID to attach to."
198							},
199							"waitFor": {
200								"type": "boolean",
201								"description": "If set to true, then wait for the process to launch by looking for a process with a basename that matches `program`. No process ID needs to be specified when using this flag.",
202								"default": true
203							},
204							"sourcePath": {
205								"type": "string",
206								"description": "Specify a source path to remap \"./\" to allow full paths to be used when setting breakpoints in binaries that have relative source paths."
207							},
208							"sourceMap": {
209								"type": "array",
210								"description": "Specify an array of path remappings; each element must itself be a two element array containing a source and destination pathname. Overrides sourcePath.",
211								"default": []
212							},
213							"debuggerRoot": {
214								"type": "string",
215								"description": "Specify a working directory to set the debug adaptor to so relative object files can be located."
216							},
217							"targetTriple": {
218								"type": "string",
219								"description": "Triplet of the target architecture to override value derived from the program file."
220							},
221							"platformName": {
222								"type": "string",
223								"description": "Name of the execution platform to override value derived from the program file."
224							},
225							"attachCommands": {
226								"type": "array",
227								"description": "Custom commands that are executed instead of attaching to a process ID or to a process by name. These commands may optionally create a new target and must perform an attach. A valid process must exist after these commands complete or the \"attach\" will fail.",
228								"default": []
229							},
230							"initCommands": {
231								"type": "array",
232								"description": "Initialization commands executed upon debugger startup.",
233								"default": []
234							},
235							"preRunCommands": {
236								"type": "array",
237								"description": "Commands executed just before the program is attached to.",
238								"default": []
239							},
240							"stopCommands": {
241								"type": "array",
242								"description": "Commands executed each time the program stops.",
243								"default": []
244							},
245							"exitCommands": {
246								"type": "array",
247								"description": "Commands executed at the end of debugging session.",
248								"default": []
249							},
250							"coreFile": {
251								"type": "string",
252								"description": "Path to the core file to debug."
253							}
254						}
255					}
256				},
257				"initialConfigurations": [
258					{
259						"type": "lldb-vscode",
260						"request": "launch",
261						"name": "Debug",
262						"program": "${workspaceRoot}/<your program>",
263						"args": [],
264						"env": [],
265						"cwd": "${workspaceRoot}"
266					}
267				],
268				"configurationSnippets": [
269					{
270						"label": "LLDB: Launch",
271						"description": "",
272						"body": {
273							"type": "lldb-vscode",
274							"request": "launch",
275							"name": "${2:Launch}",
276							"program": "^\"\\${workspaceRoot}/${1:<your program>}\"",
277							"args": [],
278							"env": [],
279							"cwd": "^\"\\${workspaceRoot}\""
280						}
281					}
282				]
283			}
284		]
285	}
286}
287