Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: e26776c9b01809ea31505455f964b58b0ac8296e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
/*******************************************************************************
 * Copyright (c) 2000, 2010 QNX Software Systems and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     QNX Software Systems - initial API and implementation
 *     Ken Ryall (Nokia) - bug 118894
 *     Ken Ryall (Nokia) - bug 178731
 *******************************************************************************/
package org.eclipse.cdt.debug.core;

/**
 * Constants used for attributes in CDT launch configurations.
 *
 * @noimplement This interface is not intended to be implemented by clients.
 * @noextend This interface is not intended to be extended by clients.
 */
public interface ICDTLaunchConfigurationConstants {

	public static final String CDT_LAUNCH_ID = "org.eclipse.cdt.launch"; //$NON-NLS-1$

	/**
	 * This is the application launch type id.
	 */
	public static final String ID_LAUNCH_C_APP = "org.eclipse.cdt.launch.applicationLaunchType"; //$NON-NLS-1$

	/**
	 * This is the remote application launch type id.
	 *
	 * @since 7.1
	 */
	public static final String ID_LAUNCH_C_REMOTE_APP = "org.eclipse.cdt.launch.remoteApplicationLaunchType"; //$NON-NLS-1$
	
	/**
     * This is the attach launch type id.
     *
     * @since 6.0
     */
    public static final String ID_LAUNCH_C_ATTACH = "org.eclipse.cdt.launch.attachLaunchType"; //$NON-NLS-1$

    /**
     * This is the post-mortem launch type id.
     *
     * @since 6.0
     */
    public static final String ID_LAUNCH_C_POST_MORTEM = "org.eclipse.cdt.launch.postmortemLaunchType"; //$NON-NLS-1$
    
    /**
	 * Specifies the default launch delegate for a Local Debug session
	 * @since 7.0
	 */
    public static final String PREFERRED_DEBUG_LOCAL_LAUNCH_DELEGATE = "org.eclipse.cdt.dsf.gdb.launch.localCLaunch"; //$NON-NLS-1$

    /**
	 * Specifies the default launch delegate for a Remote Debug session.
	 * This default is part of the optional plugin org.eclipse.cdt.launch.remote.  If that plugin is not installed
	 * then we won't set a default, which is ok since we only have one other delegate 
	 * (which is org.eclipse.cdt.dsf.gdb.launch.remoteCLaunch).
	 * @since 7.1
	 */
    public static final String PREFERRED_DEBUG_REMOTE_LAUNCH_DELEGATE = "org.eclipse.rse.remotecdt.dsf.debug"; //$NON-NLS-1$


    /**
	 * Specifies the default launch delegate for an Attach Debug session
	 * @since 7.0
	 */
    public static final String PREFERRED_DEBUG_ATTACH_LAUNCH_DELEGATE = "org.eclipse.cdt.dsf.gdb.launch.attachCLaunch"; //$NON-NLS-1$

    /**
	 * Specifies the default launch delegate for a Post Mortem Debug session
	 * @since 7.0
	 */
    public static final String PREFERRED_DEBUG_POSTMORTEM_LAUNCH_DELEGATE = "org.eclipse.cdt.dsf.gdb.launch.coreCLaunch"; //$NON-NLS-1$

    /**
     * Specifies the default launch delegate for a Run mode session
	 * @since 7.0
	 */
    public static final String PREFERRED_RUN_LAUNCH_DELEGATE = "org.eclipse.cdt.cdi.launch.localCLaunch"; //$NON-NLS-1$
    
	/**
	 * Identifier for the C/C++ program process type, which is annotated on processes created
	 * by the C/C++ application launch delegate.
	 * 
	 * (value <code>"C/C++"</code>).
	 */
	public static final String ID_PROGRAM_PROCESS_TYPE = "C/C++"; //$NON-NLS-1$ 

	/**
	 * Launch configuration attribute key. The value is a name of a C/C++
	 * project associated with a C/C++ launch configuration.
	 */
	public static final String ATTR_PROJECT_NAME = CDT_LAUNCH_ID + ".PROJECT_ATTR"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute value constants for build before launch.
	 * 
	 * @since 7.0
	 */
	public static final int BUILD_BEFORE_LAUNCH_DISABLED = 0;
	/** @since 7.0 */
	public static final int BUILD_BEFORE_LAUNCH_ENABLED = 1;
	/** @since 7.0 */
	public static final int BUILD_BEFORE_LAUNCH_USE_WORKSPACE_SETTING = 2;

	/**
	 * Launch configuration attribute key. The value is the ID of the project's
	 * build configuration that should be used when a build is required before launch.
	 */
	/** @since 7.0 */
	public static final String ATTR_BUILD_BEFORE_LAUNCH = CDT_LAUNCH_ID + ".ATTR_BUILD_BEFORE_LAUNCH_ATTR"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is the ID of the project's
	 * build configuration that should be used when a build is required before launch.
	 */
	public static final String ATTR_PROJECT_BUILD_CONFIG_ID = CDT_LAUNCH_ID + ".PROJECT_BUILD_CONFIG_ID_ATTR"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is a string specifying
	 * application a C/C++ launch configuration.
	 */
	public static final String ATTR_PROGRAM_NAME = CDT_LAUNCH_ID + ".PROGRAM_NAME"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is a string specifying
	 * application arguments for a C/C++ launch configuration, as they should
	 * appear on the command line.
	 */
	public static final String ATTR_PROGRAM_ARGUMENTS = CDT_LAUNCH_ID + ".PROGRAM_ARGUMENTS"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is a string specifying a
	 * path to the working directory to use when launching a the application.
	 * When unspecified, the working directory is inherited from the current
	 * process. When specified as an absolute path, the path represents a path
	 * in the local file system. When specified as a full path, the path
	 * represents a workspace relative path.
	 */
	public static final String ATTR_WORKING_DIRECTORY = CDT_LAUNCH_ID + ".WORKING_DIRECTORY"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is a boolean specifying
	 * whether the current enviroment should be inherited when the application
	 * is launched.
	 * @deprecated - see ILaunchManager.ATTR_APPEND_ENVIRONMENT_VARIABLES
	 */
	public static final String ATTR_PROGRAM_ENVIROMENT_INHERIT = CDT_LAUNCH_ID + ".ENVIRONMENT_INHERIT"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is a Map specifying the
	 * environment to use when launching a C/C++ application.
	 * 
	 * @deprecated - see ILaunchManager.ATTR_ENVIRONMENT_VARIABLES
	 */
	public static final String ATTR_PROGRAM_ENVIROMENT_MAP = CDT_LAUNCH_ID + ".ENVIRONMENT_MAP"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is the platform string of
	 * the launch configuration
	 */
	public static final String ATTR_PLATFORM = CDT_LAUNCH_ID + ".PLATFFORM"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is a boolean specifiying whether
	 * to connect a terminal to the processed stdin/stdout
	 */
	public static final String ATTR_USE_TERMINAL = CDT_LAUNCH_ID + ".use_terminal"; //$NON-NLS-1$

	public static final boolean USE_TERMINAL_DEFAULT = true;

	/**
	 * Launch configuration attribute key. The value is the debugger id used
	 * when launching a C/C++ application for debug.
	 */
	public static final String ATTR_DEBUGGER_ID = CDT_LAUNCH_ID + ".DEBUGGER_ID"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is the platform string of
	 * the launch configuration
	 */
	public static final String ATTR_DEBUGGER_SPECIFIC_ATTRS_MAP = CDT_LAUNCH_ID + ".DEBUGGER_SPECIFIC_ATTRS_MAP"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is a boolean specifying
	 * whether to stop at main().
	 */
	public static final String ATTR_DEBUGGER_STOP_AT_MAIN = CDT_LAUNCH_ID + ".DEBUGGER_STOP_AT_MAIN"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is a String specifying 
	 * the symbol to use for the main breakpoint.
	 */
	public static final String ATTR_DEBUGGER_STOP_AT_MAIN_SYMBOL = CDT_LAUNCH_ID + ".DEBUGGER_STOP_AT_MAIN_SYMBOL"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is a String specifying 
	 * the register groups memento.
	 */
	public static final String ATTR_DEBUGGER_REGISTER_GROUPS = CDT_LAUNCH_ID + ".DEBUGGER_REGISTER_GROUPS"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is an int specifying the
	 * process id to attach to if the ATTR_DEBUGGER_START_MODE is
	 * DEBUGGER_MODE_ATTACH. A non existant value or -1 for this entry indicates
	 * that the user should be asked to supply this value by the launch
	 * delegate. This value is primarily designed to be used by programatic
	 * users of the debug interface.
	 */
	public static final String ATTR_ATTACH_PROCESS_ID = CDT_LAUNCH_ID + ".ATTACH_PROCESS_ID"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is a String specifying the
	 * corefile path if the ATTR_DEBUGGER_START_MODE is DEBUGGER_MODE_COREFILE.
	 * A non existant value or null for this entry indicates that the user
	 * should be asked to supply this value by the launch delegate. This value
	 * is primarily designed to be used by programatic users of the debug
	 * interface.
	 */
	public static final String ATTR_COREFILE_PATH = CDT_LAUNCH_ID + ".COREFILE_PATH"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is the startup mode for the
	 * debugger (a ICDTLaunchConfigurationConstants.DEBUGGER_MODE_XXXXX constant)
	 */
	public static final String ATTR_DEBUGGER_START_MODE = CDT_LAUNCH_ID + ".DEBUGGER_START_MODE"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is a boolean specifying
	 * whether to enable variable bookkeeping.
	 */
	public static final String ATTR_DEBUGGER_ENABLE_VARIABLE_BOOKKEEPING = CDT_LAUNCH_ID + ".ENABLE_VARIABLE_BOOKKEEPING"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is a boolean specifying
	 * whether to enable register bookkeeping.
	 */
	public static final String ATTR_DEBUGGER_ENABLE_REGISTER_BOOKKEEPING = CDT_LAUNCH_ID + ".ENABLE_REGISTER_BOOKKEEPING"; //$NON-NLS-1$

	/**
	 * launch configuration attribute key.  The value is a string specifying the protocol to
	 * use.  For now only "mi", "mi1", "m2", "mi3" are supported.
	 * @deprecated
	 */
	public static final String ATTR_DEBUGGER_PROTOCOL = CDT_LAUNCH_ID + ".protocol"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is a global variables'
	 * memento.
	 */
	public static final String ATTR_DEBUGGER_GLOBAL_VARIABLES = CDT_LAUNCH_ID + ".GLOBAL_VARIABLES"; //$NON-NLS-1$
	
	/**
	 * Launch configuration attribute key. The value is a format list'
	 * memento.
	 */
	public static final String ATTR_DEBUGGER_FORMAT = CDT_LAUNCH_ID + ".FORMAT"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute key. The value is a memory blocks' memento.
	 */
	public static final String ATTR_DEBUGGER_MEMORY_BLOCKS = CDT_LAUNCH_ID + ".MEMORY_BLOCKS"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute value. The key is
	 * ATTR_DEBUGGER_STOP_AT_MAIN.
	 */
	public static boolean DEBUGGER_STOP_AT_MAIN_DEFAULT = true;

	/**
	 * Launch configuration attribute value. The key is
	 * DEBUGGER_STOP_AT_MAIN_SYMBOL.
	 */
	public static String DEBUGGER_STOP_AT_MAIN_SYMBOL_DEFAULT = "main"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute value. The key is
	 * ATTR_DEBUGGER_START_MODE. Startup debugger running the program.
	 */
	public static String DEBUGGER_MODE_RUN = "run"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute value. The key is
	 * ATTR_DEBUGGER_START_MODE. Startup debugger and attach to running process.
	 */
	public static String DEBUGGER_MODE_ATTACH = "attach"; //$NON-NLS-1$

	/**
	 * Launch configuration attribute value. The key is
	 * ATTR_DEBUGGER_START_MODE. Startup debugger to view a core file.
	 */
	public static String DEBUGGER_MODE_CORE = "core"; //$NON-NLS-1$

	/**
	 * Status code indicating that the Eclipse runtime does not support
	 * launching a program with a working directory. This feature is only
	 * available if Eclipse is run on a 1.3 runtime or higher.
	 * <p>
	 * A status handler may be registered for this error condition, and should
	 * return a Boolean indicating whether the program should be relaunched with
	 * the default working directory.
	 * </p>
	 */
	public static final int ERR_WORKING_DIRECTORY_NOT_SUPPORTED = 100;

	/**
	 * Status code indicating the specified working directory does not exist.
	 */
	public static final int ERR_WORKING_DIRECTORY_DOES_NOT_EXIST = 101;

	/**
	 * Status code indicating a launch configuration does not specify a project
	 * when a project is required.
	 */
	public static final int ERR_UNSPECIFIED_PROJECT = 102;

	/**
	 * Status code indicating a launch configuration does not specify a vaild
	 * project.
	 */
	public static final int ERR_NOT_A_C_PROJECT = 103;

	/**
	 * Status code indicating a launch configuration does not specify a vaild
	 * program.
	 */
	public static final int ERR_PROGRAM_NOT_EXIST = 104;

	/**
	 * Status code indicating a launch configuration does not specify a program
	 * name.
	 */

	public static final int ERR_UNSPECIFIED_PROGRAM = 105;

	/**
	 * Status code indicating that the CDT debugger is missing
	 * <p>
	 * A status handler may be registered for this error condition, and should
	 * return a String indicating which debugger to use.
	 * </p>
	 */
	public static final int ERR_DEBUGGER_NOT_INSTALLED = 106;

	/**
	 * Status code indicating a launch configuration does not specify a vaild
	 * program.
	 */
	public static final int ERR_PROGRAM_NOT_BINARY = 107;

	/**
	 * Status code indicating a the user did not specify a process id
	 */
	public static final int ERR_NO_PROCESSID = 107;

	/**
	 * Status code indicating a the user did not specify a path to a corefile
	 */
	public static final int ERR_NO_COREFILE = 108;

	/**
	 * Status code indicating an unexpected internal error.
	 */
	public static final int ERR_INTERNAL_ERROR = 150;

}

Back to the top