Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: cf041783ff3b05640ad7490c971628ae4329bb94 (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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html lang="en">

<head>
	<meta http-equiv="Content-Language" content="en-us">
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<title>GDB Debugging Preferences</title>
	<link rel="stylesheet" type="text/css" href="../help.css">
	<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script>
</head>
<body>

<div role="main"><h1>GDB Debugging Preferences</h1>

<p>Use this preferences panel to control how the CDT debugger behaves when debugging with GDB, 
specifically when using a <em>GDB (DSF)</em> launcher. 
<p><img src="../images/cdt_dsfgdb_preferences_page.png"  alt="GDB preferences panel"></p>


<p><table border="1" cellpadding="4" cellspacing="0" width="700px" bordercolor="#DDDDDD" >
	<caption><strong>GDB Preference Panel Options</strong></caption>
	<colgroup>
		<col width="20%" valign="top" >
		<col width="30%" valign="top" >
		<col width="50%" valign="top" >
	</colgroup>
 	<tr>
		<th id="category">Category</th>	
		<th id="option">Option</th>	
		<th id="description">Description</th>
	</tr>

	<! -------------------------------------------------------------------------------------------------- >
	<! ----------------------------- Debug Configurations Defaults Category ----------------------------- >
	<! -------------------------------------------------------------------------------------------------- >

	<tr>
		<td rowspan=6 valign="top" headers="category"><strong>Debug Configurations Defaults</strong></td>
	</tr>
	<tr>
		<td valign="top" headers="option"><strong>GDB debugger</strong></td>
		<td valign="top" headers="description">Specifies the GDB debugger binary that will be used by default for each 
		newly created debug launch.  Using an absolute path will directly point to the binary (e.g, /home/user/myGdb), 
		while using a binary name will have CDT look through the PATH variable for that binary (e.g., myGdb).  This can
		be useful of your GDB binary is not named 'gdb'.  Each launch configuration allows to override this setting in
		the Debugger tab.</td>
	</tr>
	<tr>
		<td valign="top" headers="option"><strong>GDB command file</strong></td>
		<td valign="top" headers="description">Specifies the GDB debugger command file that will be used by default for each 
		newly created debug launch.  This can be useful if you often/always want to use a GDB command file for your launches.
		Each launch configuration allows to override this setting in the Debugger tab.</td>
	</tr>
	<tr>
		<td valign="top" headers="option"><strong>Stop on startup</strong></td>
		<td valign="top" headers="description">When checked, the CDT debugger will stop execution at the specified symbol when
		launching or re-starting a process.  By default, this setting makes the CDT debugger stop when entering 'main'.</td>
	</tr>
	<tr>
		<td valign="top" headers="option"><strong>Command timeout</strong></td>
		<td valign="top" headers="description">When checked, the CDT debugger will abort the debug session if any command sent 
		to GDB does not get an answer before the specified timeout.  Using this can prevent debug sessions from hanging forever 
		when debugging un-reliable targets.
		<p>
		Using the <em>Advanced...</em> button allows to set a different timeout for individual commands.  A value of zero can be
		used to specify "no timeout" for a particular command.  MI commands must start with a hyphen ('-').  
		For example, '-target-select'.</td>
	</tr>
	<tr>
		<td valign="top" headers="option"><strong>Non-stop mode</strong></td>
		<td valign="top" headers="description">When checked, the CDT debugger will run in non-stop mode for each newly created 
		debug launch.  <em>Non-stop</em> mode allows each thread of a debug session to be controlled independently. This allows to stop 
		one or more threads while leaving others running. In contrast, <em>all-stop</em> mode interrupts and resumes all threads at the
		same time.  Note that <em>non-stop</em> mode is only available starting with GDB 7.0.</td>
	</tr>

	<! -------------------------------------------------------------------------------------------------- >
	<! ------------------------------------ General Behavior Category ----------------------------------- >
	<! -------------------------------------------------------------------------------------------------- >
	
	<tr>
		<td rowspan=5 valign="top" headers="category"><strong>General Behavior</strong></td>
	</tr>
	<tr>
		<td valign="top" headers="option"><strong>Terminate GDB when last process exits</strong></td>
		<td valign="top" headers="description">When checked, the CDT debugger will terminate the GDB
		process (on the host) after all the target processes it is debugging have terminated. Otherwise it 
		will leave it running.  It can be useful to keep GDB running if you expect to want to attach or create
		new processes to debug after the previously debugged processes have terminated.</td>
	</tr>
	<tr>
		<td valign="top" headers="option"><strong>Use enhanced debug hover</strong></td>
		<td valign="top" headers="description">When checked, hovering over an expression in the editor during a 
		debug session will bring up an <em>enhanced</em> expression evaluation control. Otherwise, a more basic 
		control is used. This, of course, assumes that you have the debugger's hovering capability turned on in 
		C/C++ > Editor > Hovers. If not, this checkbox has no effect.<br>
			<img src="../images/cdt_debug_hover_modes.png"  alt="debug hover modes"></td>
	</tr>
	<tr>
		<td valign="top" headers="option"><strong>Show only suspended threads in the Debug view</strong></td>
		<td valign="top" headers="description">When checked, the Debug view will only show threads that are suspended.
		When dealing with a large number of threads, this helps focus on the threads being inspected.  Obviously, 
		this option is only valuable in <em>non-stop</em> mode, where some threads can run while others are stopped.</td>
	</tr>
	<tr>
		<td valign="top" headers="option"><strong>Enable GDB traces</strong></td>
		<td valign="top" headers="description">When checked, the debug session will produce an additional console which 
		will contain all the gdb/mi activity. Basically, this details the interaction between the CDT debugger and GDB. 
		This information is often critical when the debugger is not behaving as you expect. Include this console output
		when submitting a bugzilla report against the CDT debugger.  It is recommended to keep this setting enabled at 
		all times, as it does not cause any negative effect.</td>
	</tr>

	<! -------------------------------------------------------------------------------------------------- >
	<! ----------------------------------- Pretty Printing Category ------------------------------------- >
	<! -------------------------------------------------------------------------------------------------- >

	<tr>
		<td rowspan=3 valign="top" headers="category"><strong>Pretty Printing</strong></td>
	</tr>
	<tr>
		<td valign="top" headers="option"><strong>Enable pretty printers in variable/expression tree</strong></td>
		<td valign="top" headers="description">When checked, the CDT Debugger will display STL types in a user-friendly
		fashion.  This can be seen in the Variables and Expressions views, as well as in the advanced editor hover.
		For example, Maps, Lists and Vectors will be shown in an array-style format instead of showing the
		details of the actual implementation of the data struture.  Note that <em>pretty printing</em> requires a GDB that
		has python support enabled and the user of STL pretty-printers.</td>
	</tr>
	<tr>
		<td valign="top" headers="option"><strong>For collections, initially limit child count to</strong></td>
		<td valign="top" headers="description">When using pretty printing, collections (e.g., Maps, Lists, etc) can contain
		a large number of elements.  Trying to display all this children at once can cause very poor responsiveness.  This
		value will limit the number of children displayed initially, while allowing the user to manually request more
		children directly from the view.</td>
	</tr>	
</table>
<p><img src="../images/ngref.gif" ALT="Related reference" width="143" height="21"> <br>
<hr >
<p><img src="../images/ng00_04a.gif" ALT="IBM Copyright Statement" ></p>

</div></body>

</html>

Back to the top