This file is indexed.

/usr/share/doc/gnat-gps/html/The-Debug-Menu.html is in gnat-gps-doc 5.0-16.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 2002-2010 AdaCore.

This document is free; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This document is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, see http://www.gnu.org/licenses/.

A copy of the license is included in the section entitled
"GNU General Public License". -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using the GNAT Programming Studio: The Debug Menu</title>

<meta name="description" content="Using the GNAT Programming Studio: The Debug Menu">
<meta name="keywords" content="Using the GNAT Programming Studio: The Debug Menu">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Index-table.html#Index-table" rel="index" title="Index table">
<link href="Debugging.html#Debugging" rel="up" title="Debugging">
<link href="The-Call-Stack-Window.html#The-Call-Stack-Window" rel="next" title="The Call Stack Window">
<link href="Debugging.html#Debugging" rel="previous" title="Debugging">
<style type="text/css">
<!--
   

a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
pre.smallexample {background-color:rgb(240,240,240);
                     font-family: courier new,courier,fixed;
                     font-size: 14px;
                     margin: 0px 40px 0px 40px;
                     border-width: 1px 2px 2px 1px;
                     border-top-style: dotted;
                     border-left-style: dotted;
                     border-right-style: solid;
                     border-bottom-style: solid;
                     border-color: black;}
   code             {color:black;
                     font-family: courier new,courier,fixed;
                     font-size: 14px;}
   body             {font-family: arial,helvetica,sans-serif;
                     font-size: 16px;
                     max-width: 800px;
                     text-align: justify}
   samp             {font-family: courier new,courier,fixed;
                     font-size: 14px}
                    

-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="The-Debug-Menu"></a>
<div class="header">
<p>
Next: <a href="The-Call-Stack-Window.html#The-Call-Stack-Window" accesskey="n" rel="next">The Call Stack Window</a>, Up: <a href="Debugging.html#Debugging" accesskey="u" rel="up">Debugging</a> &nbsp; [<a href="Index-table.html#Index-table" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="The-Debug-Menu-1"></a>
<h3 class="section">11.1 The Debug Menu</h3>
<a name="index-menu-10"></a>
<a name="index-debug-1"></a>
<a name="index-debugger-2"></a>

<p>The <code>Debug</code> entry in the menu bar provides operations that act at a
global level. Key shortcuts are available for the most common operations, and
are displayed in the menus themselves.
Here is a detailed list of the menu items that can be found in the menu bar:
</p>
<dl compact="compact">
<dt><b>Run...</b></dt>
<dd><a name="index-run-1"></a>
<p>Opens a dialog window allowing you to specify the arguments to pass to the
program to be debugged, and whether this program should be stopped at the
beginning of the main subprogram. If you confirm by clicking on the <i>OK</i>
button, the program will be launched according to the arguments entered.
</p>
</dd>
<dt><b>Step</b></dt>
<dd><a name="index-step"></a>
<p>Execute the program until it reaches a different source line.
</p>
</dd>
<dt><b>Step Instruction</b></dt>
<dd><a name="index-stepi"></a>
<p>Execute the program for one machine instruction only.
</p>
</dd>
<dt><b>Next</b></dt>
<dd><a name="index-next"></a>
<p>Execute the program until it reaches the next source line,
stepping over subroutine calls.
</p>
</dd>
<dt><b>Next Instruction</b></dt>
<dd><a name="index-nexti"></a>
<p>Execute the program until it reaches the next machine instruction,
stepping over subroutine calls.
</p>
</dd>
<dt><b>Finish</b></dt>
<dd><a name="index-finish"></a>
<p>Continue execution until selected stack frame returns.
</p>
</dd>
<dt><b>Continue</b></dt>
<dd><a name="index-continue"></a>
<p>Continue execution of the program being debugged.
</p>
</dd>
<dt><b>Interrupt</b></dt>
<dd><a name="index-interrupt"></a>
<p>Asynchronously interrupt the program being debugged. Note that depending on
the state of the program, you may stop it in low-level system code that does
not have debug information, or in some cases, not even a coherent state. Use
of breakpoints is preferable to interrupting programs. Interrupting programs
is nevertheless required in some situations, for example when the
program appears to be in an infinite (or at least very time-consuming) loop.
</p>
</dd>
<dt><b>Terminate Current</b></dt>
<dd><a name="index-terminate"></a>
<p>Terminate the current debug session
by terminating the underlying debugger (e.g <code>gdb</code>) used
to handle the low level debugging. You can control what happens to the
windows through the <code>Debugger/Debugger Windows</code> preference.
</p>
</dd>
<dt><b>Terminate</b></dt>
<dd><a name="index-terminate-1"></a>
<p>Terminate all your debug sessions. Same as <code>Terminate Current</code> if there
is only one debugger open.
</p>
</dd>
</dl>

<a name="Debug"></a>
<h4 class="subsection">11.1.1 Debug</h4>

<dl compact="compact">
<dt><b>Connect to Board...</b></dt>
<dd><a name="index-connect"></a>
<a name="index-board"></a>
<a name="index-target"></a>
<a name="index-cross-debugger"></a>
<p>Opens a simple dialog to connect to a remote board. This option is only
relevant to cross debuggers.
</p>
</dd>
<dt><b>Load File...</b></dt>
<dd><a name="index-load-1"></a>

<a name="open-program-menu"></a><p>Opens a file selection dialog that allows you to choose a program to
debug. The program to debug is either an executable for native debugging, or
a partially linked module for cross environments (e.g VxWorks).
</p>
</dd>
<dt><b>Add Symbols...</b></dt>
<dd><a name="index-add-symbols"></a>
<p>Add the symbols from a given file/module. This corresponds to the gdb
command <i>add-symbol-file</i>. This menu is particularly useful under VxWorks
targets, where the modules can be loaded independently of the debugger.
For instance, if a module is independently loaded on the target (e.g. using
windshell), it is absolutely required to use this functionality,
otherwise the debugger won&rsquo;t work properly.
</p>
</dd>
<dt><b>Attach...</b></dt>
<dd><a name="index-attach"></a>
<p>Instead of starting a program to debug, you can instead attach to an
already running process. To do so, you need to specify the process id
of the process you want to debug. The process might be busy in an
infinite loop, or waiting for event processing. Note that as for
<a href="#core-files">core files</a>, you need to specify an executable before attaching to a
process.
</p>
</dd>
<dt><b>Detach</b></dt>
<dd><a name="index-detach"></a>
<p>Detaches the currently debugged process from the underlying debugger.
This means that the executable will continue to run independently. You can use
the <i>Attach To Process</i> menu later to re-attach to this process.
</p>
</dd>
<dt><b>Debug Core File...</b></dt>
<dd><a name="index-core-file"></a>
<a name="core-files"></a><p>This will open a file selection dialog that allows you to debug a core file
instead of debugging a running process. Note that you must first specify an
executable to debug before loading a core file.
</p>
</dd>
<dt><b>Kill</b></dt>
<dd><a name="index-kill"></a>
<p>Kills the process being debugged.
</p>
</dd>
</dl>

<a name="Data"></a>
<h4 class="subsection">11.1.2 Data</h4>
<a name="index-menu-11"></a>
<a name="index-data"></a>
<p>Note that most items in this menu need to access the underlying debugger
when the process is stopped, not when it is running. This means that you first
need to stop the process on a breakpoint or interrupt it, before using
the following commands. Failing to do so will result in blank windows.
</p>
<dl compact="compact">
<dt><b>Data Window</b></dt>
<dd><p>Displays the Data window. If this window already exists, it is raised so
      that it becomes visible
</p>
</dd>
<dt><b>Call Stack</b></dt>
<dd><a name="index-call-stack"></a>
<p>Displays the Call Stack window.
      See <a href="The-Call-Stack-Window.html#The-Call-Stack-Window">The Call Stack Window</a> for more details.
</p>
</dd>
<dt><b>Threads</b></dt>
<dd><a name="index-thread"></a>
<p>Opens a new window containing the list of threads currently present in
      the executable as reported by the underlying debugger. For each thread,
      it will give information such as internal identifier, name and status.
      This information is language- and debugger-dependent. You should refer to
      the underlying debugger&rsquo;s documentation for more details.
      As indicated above, the process being debugged needs to be stopped
      before using this command, otherwise a blank list will be displayed.
</p>
<p>When supported by the underlying debugger, clicking on a thread will
      change the context (variables, call stack, source file) displayed,
      allowing you to inspect the stack of the selected thread.
</p>
</dd>
<dt><b>Tasks</b></dt>
<dd><a name="index-task"></a>
<p>For GDB only, this will open a new window containing the list of Ada
      tasks currently present in the executable. Similarly to the thread
      window, you can switch to a selected task context by clicking on it, if
      supported by GDB. See the GDB documentation for the list of
      items displayed for each task.
</p>
<p>As for the thread window, the process being debugged needs to be stopped
      before using this window.
</p>

<a name="index-screen-shot-34"></a>
<img src="tasks.jpg" alt="tasks">

</dd>
<dt><b>Protection Domains</b></dt>
<dd><a name="index-protection-domain"></a>
<p>For VxWorks AE only, this will open a new window containing the
      list of available protection domains in the target. To change to a
      different protection domain, simply click on it. A       indicates the current protection domain.
</p>
</dd>
<dt><b>Assembly</b></dt>
<dd><a name="index-assembly"></a>
<p>Opens a new window displaying an assembly dump of the current code
      being executed.
      See <a href="The-Assembly-Window.html#The-Assembly-Window">The Assembly Window</a> for more details.
</p>
</dd>
<dt><b>Edit Breakpoints</b></dt>
<dd><a name="index-breakpoint"></a>
<p>Opens an advanced window to create and modify any kind of breakpoint,
      including watchpoints (see <a href="The-Breakpoint-Editor.html#The-Breakpoint-Editor">The Breakpoint Editor</a>).
      For simple breakpoint creation, see the description of the source window.
</p>
</dd>
<dt><b>Examine Memory</b></dt>
<dd><a name="index-memory-view"></a>
<p>Opens a memory viewer/editor. See <a href="The-Memory-Window.html#The-Memory-Window">The Memory Window</a> for more
      details.
</p>
</dd>
<dt><b>Command History</b></dt>
<dd><a name="index-command-1"></a>
<a name="index-history"></a>
<p>Opens a dialog with the list of commands executed in the current session.
      You can select any number of items in this list and replay the selection
      automatically.
</p>
</dd>
<dt><b>Display Local Variables</b></dt>
<dd><a name="index-local-variables"></a>
<p>Opens an item in the Data Window containing all the local variables
      for the current frame.
</p>
</dd>
<dt><b>Display Arguments</b></dt>
<dd><a name="index-arguments"></a>
<p>Opens an item in the Data Window containing the arguments
      for the current frame.
</p>
</dd>
<dt><b>Display Registers</b></dt>
<dd><a name="index-registers"></a>
<p>Opens an item in the Data Window containing the machine registers
      for the current frame.
</p>
</dd>
<dt><b>Display Any Expression...</b></dt>
<dd><a name="index-display-expression"></a>
<p>Opens a small dialog letting you specify an arbitrary expression
      in the Data Window. This expression can be a variable name, or a
      more complex expression, following the syntax of the underlying debugger.
      See the documentation of e.g gdb for more details on the syntax.
      The check button <i>Expression is a subprogram call</i> should be enabled
      if the expression is actually a debugger
      command (e.g <code>p/x var</code>) or a procedure call in the program being
      debugged (e.g <code>call my_proc</code>).
</p>
</dd>
<dt><b>Recompute</b></dt>
<dd><a name="index-recompute"></a>
<p>Recomputes and refreshes all the items displayed in the Data Window.
</p></dd>
</dl>

<hr>
<div class="header">
<p>
Next: <a href="The-Call-Stack-Window.html#The-Call-Stack-Window" accesskey="n" rel="next">The Call Stack Window</a>, Up: <a href="Debugging.html#Debugging" accesskey="u" rel="up">Debugging</a> &nbsp; [<a href="Index-table.html#Index-table" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>