byebug 0.0.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -0
- data/.travis.yml +0 -5
- data/CHANGELOG.md +6 -0
- data/Gemfile +1 -1
- data/LICENSE +23 -20
- data/byebug.gemspec +5 -5
- data/ext/byebug/breakpoint.c +102 -134
- data/ext/byebug/byebug.c +110 -64
- data/ext/byebug/byebug.h +2 -3
- data/ext/byebug/context.c +72 -39
- data/lib/byebug.rb +34 -38
- data/lib/byebug/command.rb +19 -24
- data/lib/byebug/commands/breakpoints.rb +11 -12
- data/lib/byebug/commands/catchpoint.rb +1 -1
- data/lib/byebug/commands/control.rb +2 -4
- data/lib/byebug/commands/finish.rb +1 -1
- data/lib/byebug/commands/frame.rb +15 -17
- data/lib/byebug/commands/info.rb +29 -28
- data/lib/byebug/commands/irb.rb +23 -21
- data/lib/byebug/commands/method.rb +4 -4
- data/lib/byebug/commands/reload.rb +8 -6
- data/lib/byebug/commands/set.rb +27 -23
- data/lib/byebug/commands/show.rb +6 -4
- data/lib/byebug/commands/stepping.rb +2 -2
- data/lib/byebug/commands/threads.rb +10 -10
- data/lib/byebug/commands/trace.rb +13 -14
- data/lib/byebug/commands/variables.rb +14 -12
- data/lib/byebug/context.rb +2 -15
- data/lib/byebug/interface.rb +5 -0
- data/lib/byebug/processor.rb +59 -64
- data/lib/byebug/version.rb +2 -1
- data/old_doc/Makefile +20 -0
- data/{man/rdebug.1 → old_doc/byebug.1} +5 -5
- data/old_doc/byebug.html +6178 -0
- data/old_doc/byebug.texi +3775 -0
- data/{doc → old_doc}/hanoi.rb +0 -0
- data/{doc → old_doc}/primes.rb +0 -0
- data/{doc → old_doc}/test-tri2.rb +0 -0
- data/{doc → old_doc}/tri3.rb +0 -0
- data/{doc → old_doc}/triangle.rb +0 -0
- data/test/breakpoints_test.rb +96 -60
- data/test/conditions_test.rb +15 -12
- data/test/examples/info.rb +5 -5
- data/test/examples/stepping.rb +1 -1
- data/test/frame_test.rb +40 -39
- data/test/info_test.rb +105 -96
- data/test/irb_test.rb +66 -61
- data/test/jump_test.rb +18 -9
- data/test/list_test.rb +114 -107
- data/test/restart_test.rb +51 -58
- data/test/save_test.rb +8 -7
- data/test/set_test.rb +8 -11
- data/test/show_test.rb +3 -5
- data/test/stepping_test.rb +43 -53
- data/test/support/context.rb +1 -0
- data/test/support/processor.rb +10 -4
- data/test/support/test_dsl.rb +46 -18
- data/test/support/test_interface.rb +8 -5
- data/test/test_helper.rb +2 -2
- data/test/trace_test.rb +123 -124
- metadata +39 -17
- data/AUTHORS +0 -10
- data/doc/rdebug-emacs.texi +0 -1030
data/doc/rdebug-emacs.texi
DELETED
@@ -1,1030 +0,0 @@
|
|
1
|
-
\input texinfo @c -*-texinfo-*-
|
2
|
-
@setfilename rdebug-emacs.info
|
3
|
-
|
4
|
-
@set DBG ruby-debug
|
5
|
-
@set ttrdebug @code{rdebug}
|
6
|
-
@set ttDBG @code{@value{DBG}}
|
7
|
-
@set Emacs @sc{gnu} Emacs
|
8
|
-
|
9
|
-
@set RDEBUG_EMACS_VERSION 0.1
|
10
|
-
@include version-rdebug-emacs.texi
|
11
|
-
@finalout
|
12
|
-
|
13
|
-
@c Karl Berry informs me that this will add straight quotes in
|
14
|
-
@c typewriter text.
|
15
|
-
@c See the "Inserting Quote Characters" node in the Texinfo manual
|
16
|
-
@set txicodequoteundirected
|
17
|
-
@set txicodequotebacktick
|
18
|
-
|
19
|
-
@c THIS MANUAL REQUIRES TEXINFO 4.0 OR LATER.
|
20
|
-
|
21
|
-
@c This is a dir.info fragment to support semi-automated addition of
|
22
|
-
@c manuals to an info tree.
|
23
|
-
@dircategory Programming & development tools.
|
24
|
-
@direntry
|
25
|
-
* ruby-debug-emacs: (ruby-debug). Ruby Byebug for GNU Emacs
|
26
|
-
@end direntry
|
27
|
-
|
28
|
-
@titlepage
|
29
|
-
@title Debugging with @code{ruby-debug} inside GNU Emacs Version @value{RDEBUG_EMACS_VERSION}
|
30
|
-
@sp 1
|
31
|
-
@subtitle @value{EDITION} Edition
|
32
|
-
@subtitle @value{UPDATED-MONTH}
|
33
|
-
@author Rocky Bernstein and Anders Lindgren
|
34
|
-
@page
|
35
|
-
@ifset WHERETO
|
36
|
-
@tex
|
37
|
-
{\parskip=0pt
|
38
|
-
\hfill (Send bugs and comments on ruby-debug to fill in...)\par
|
39
|
-
\hfill {\it Debugging with {\tt ruby-debug}\par
|
40
|
-
\hfill \TeX{}info \texinfoversion\par
|
41
|
-
}
|
42
|
-
@end tex
|
43
|
-
@end ifset
|
44
|
-
@end titlepage
|
45
|
-
@page
|
46
|
-
|
47
|
-
@node Top, Getting started, (dir), (dir)
|
48
|
-
@top Debugging with ruby-debug under GNU Emacs
|
49
|
-
|
50
|
-
@menu
|
51
|
-
* Getting started::
|
52
|
-
* The Multi-window Mode::
|
53
|
-
* Byebug Buffers::
|
54
|
-
* Emacs Byebug Commands:: Indexes (nodes containing large menus)
|
55
|
-
* Emacs Command Index:: An item for each GNU/Emacs command name.
|
56
|
-
* Emacs Function Index:: An item for each Emacs Function.
|
57
|
-
* Emacs Key Binding Index:: An item for each Emacs Byebug Command.
|
58
|
-
|
59
|
-
@detailmenu
|
60
|
-
--- The Detailed Node Listing ---
|
61
|
-
|
62
|
-
Getting started
|
63
|
-
|
64
|
-
* Installation:: How to install this package
|
65
|
-
* Emacs rdebug:: Invoke the ruby byebug initially
|
66
|
-
* Emacs shell tracking mode:: Entering rdebug from an existing shell buffer
|
67
|
-
|
68
|
-
Byebug Buffers
|
69
|
-
|
70
|
-
* Byebug Command Buffer::
|
71
|
-
* Emacs Source:: Commands from the source script
|
72
|
-
|
73
|
-
Emacs Byebug Commands
|
74
|
-
|
75
|
-
* Emacs Byebug Common Commands::
|
76
|
-
* Emacs Byebug Breakpoint Buffer Commands::
|
77
|
-
* Emacs Byebug Stack Buffer Commands::
|
78
|
-
* Emacs Byebug Variable Buffer Commands::
|
79
|
-
* Emacs Byebug Watch Buffer Commands::
|
80
|
-
* Emacs GUD Commands::
|
81
|
-
|
82
|
-
@end detailmenu
|
83
|
-
@end menu
|
84
|
-
|
85
|
-
This file describes ruby-debug, the Ruby Byebug,
|
86
|
-
version @value{RDEBUG_EMACS_VERSION}
|
87
|
-
|
88
|
-
This is the @value{EDITION} Edition, @value{UPDATED}
|
89
|
-
@c Copyright (C) 2007 ...
|
90
|
-
|
91
|
-
@c @node GNU Emacs
|
92
|
-
@c @chapter Using @code{ruby-debug} from GNU Emacs
|
93
|
-
|
94
|
-
|
95
|
-
@cindex @value{Emacs}
|
96
|
-
A special interface which comes with Ruby that allows you to use
|
97
|
-
@value{Emacs} to view (and edit) the source files for the program you
|
98
|
-
are debugging with @value{DBG}. However you must be using at least
|
99
|
-
version 21 of @value{Emacs}, but with @value{Emacs} version 22 or 23
|
100
|
-
there are even more debugging features available. @code{M-x
|
101
|
-
show-emacs-version} inside @value{Emacs} will tell you what version you
|
102
|
-
are running.
|
103
|
-
|
104
|
-
This package provide a full-fledged debugging environment, on par with
|
105
|
-
modern integrated development environments. Once the byebug has been
|
106
|
-
activated, the Emacs frame is divided into a number of dedicated
|
107
|
-
byebug windows.@footnote{If you are an @value{Emacs} traditionalist,
|
108
|
-
you can, of course, run this package with only a shell and source
|
109
|
-
buffer}
|
110
|
-
|
111
|
-
This package comes with a number of predefined window layouts. It is
|
112
|
-
fully customizable so you can create your own.
|
113
|
-
|
114
|
-
@c -------------------------------------------------------------------
|
115
|
-
|
116
|
-
|
117
|
-
@node Getting started, The Multi-window Mode, Top, Top
|
118
|
-
@chapter Getting started
|
119
|
-
|
120
|
-
@menu
|
121
|
-
* Installation:: How to install this package
|
122
|
-
* Emacs rdebug:: Invoke the ruby byebug initially
|
123
|
-
* Emacs shell tracking mode:: Entering rdebug from an existing shell buffer
|
124
|
-
* Configurating this package:: Introducing the configure system
|
125
|
-
@end menu
|
126
|
-
|
127
|
-
@node Installation, Emacs rdebug, Getting started, Getting started
|
128
|
-
@section Installation
|
129
|
-
|
130
|
-
To use this interface, load the file @code{rdebug.el}. This file is a
|
131
|
-
light-weight file, basically it only contains a handful of
|
132
|
-
@code{autoload} directives.
|
133
|
-
|
134
|
-
For example, you can place the following in your @code{~/.emacs} file:
|
135
|
-
|
136
|
-
@smallexample
|
137
|
-
(require 'rdebug)
|
138
|
-
@end smallexample
|
139
|
-
|
140
|
-
In addition, you must have Ruby and ruby-debug installed.
|
141
|
-
|
142
|
-
|
143
|
-
@node Emacs rdebug, Emacs shell tracking mode, Installation, Getting started
|
144
|
-
@section Emacs rdebug
|
145
|
-
|
146
|
-
Use the command @kbd{M-x rdebug} in @sc{gnu} Emacs to start debugging.
|
147
|
-
Give the executable file you want to debug as an argument. Make sure
|
148
|
-
to use the version that comes with this package as this is newer than
|
149
|
-
that supplied with @value{Emacs}.
|
150
|
-
|
151
|
-
The @kbd{rdebug} command starts @value{DBG} as a subprocess of Emacs,
|
152
|
-
with input and output through a newly created Emacs buffer.
|
153
|
-
|
154
|
-
Using @value{DBG} under Emacs is just like using @value{DBG}
|
155
|
-
normally except for two things:
|
156
|
-
|
157
|
-
@itemize @bullet
|
158
|
-
@item
|
159
|
-
All ``terminal'' input and output goes through the GNU Emacs buffer.
|
160
|
-
@end itemize
|
161
|
-
|
162
|
-
This applies both to @value{DBG} commands and their output, and to the input
|
163
|
-
and output done by the program you are debugging.
|
164
|
-
|
165
|
-
This is useful because it means that you can copy the text of previous
|
166
|
-
commands and input them again; you can even use parts of the output
|
167
|
-
in this way.
|
168
|
-
|
169
|
-
All the facilities of GNU Emacs' Shell mode are available for interacting
|
170
|
-
with your script. In particular, you can send signals the usual
|
171
|
-
way---for example, @kbd{C-c C-c} for an interrupt, @kbd{C-c C-z} for a
|
172
|
-
stop.
|
173
|
-
|
174
|
-
@node Emacs shell tracking mode, Configurating this package, Emacs rdebug, Getting started
|
175
|
-
@section Entering rdebug from an existing shell buffer
|
176
|
-
|
177
|
-
Many times it's not feasible to enter the byebug from the outset.
|
178
|
-
Instead a call to the byebug is put inside the program.
|
179
|
-
|
180
|
-
@c See @xref{Unit Testing Session}.
|
181
|
-
|
182
|
-
It is also possible in GNU emacs to use a (``comint'') shell and set a
|
183
|
-
mode to watch for @value{DBG} prompts and track the source code in
|
184
|
-
another window. @xref{Interactive Shell, , Shell, Emacs, The @value{Emacs}
|
185
|
-
Manual}.
|
186
|
-
|
187
|
-
To enable, this run @kbd{M-x turn-on-rdebug-track-mode}. There is some
|
188
|
-
overhead involved in scanning output, so if you are not debugging Ruby
|
189
|
-
programs you probably want to turn this off which can be done via the
|
190
|
-
@code{M-x turn-off-rdebugtrack} command.
|
191
|
-
|
192
|
-
|
193
|
-
@node Configurating this package, , Emacs shell tracking mode, Getting started
|
194
|
-
@section Configurating this package
|
195
|
-
|
196
|
-
In this manual we present a number of @value{Emacs} lisp variables and
|
197
|
-
functions that you can use to configure the byebug interface. In
|
198
|
-
addition, you can use the @value{Emacs} @emph{customize} system, see the
|
199
|
-
@kbd{<menu-bar> <byebug> <options> <customize>} menu item.
|
200
|
-
|
201
|
-
@c -------------------------------------------------------------------
|
202
|
-
|
203
|
-
@node The Multi-window Mode, Byebug Buffers, Getting started, Top
|
204
|
-
@chapter Multi-window
|
205
|
-
|
206
|
-
In the multi-window byebug mode, a number of buffers are visible when
|
207
|
-
the byebug starts. This chapter will describe each of them, in
|
208
|
-
addition it will describe the features associated with the multi-window
|
209
|
-
mode.
|
210
|
-
|
211
|
-
The default multi-window layout looks like the following:
|
212
|
-
|
213
|
-
@verbatim
|
214
|
-
+----------------------------------------------------------------------+
|
215
|
-
| Toolbar |
|
216
|
-
+-----------------------------------+----------------------------------+
|
217
|
-
| | |
|
218
|
-
| Byebug shell | Variables buffer |
|
219
|
-
| | |
|
220
|
-
+-----------------------------------+----------------------------------+
|
221
|
-
| | |
|
222
|
-
| Source buffer | Output buffer |
|
223
|
-
| | |
|
224
|
-
+-----------------------------------+----------------------------------+
|
225
|
-
| | |
|
226
|
-
| Stack buffer | Breakpoints buffer |
|
227
|
-
| | |
|
228
|
-
+-----------------------------------+----------------------------------+
|
229
|
-
@end verbatim
|
230
|
-
|
231
|
-
@section Activating Multi-window mode
|
232
|
-
|
233
|
-
The variable @code{rdebug-many-windows} controls if multi-window mode
|
234
|
-
should be used, it is enabled by default. When starting the byebug
|
235
|
-
using the @code{M-x rdebug} mode the command line option @code{--emacs
|
236
|
-
3} must be specified (this is also the default).
|
237
|
-
|
238
|
-
When attaching to an already running byebug process, you must give the
|
239
|
-
byebug command @kbd{set annotate 3}.
|
240
|
-
|
241
|
-
@section Window Layouts
|
242
|
-
|
243
|
-
When the byebug is started, the original window layout of
|
244
|
-
@value{Emacs} is replaced with the window layout of the byebug. You
|
245
|
-
can switch back and forth between the original window layout and the
|
246
|
-
byebug layout using
|
247
|
-
@kbd{M-x rdebug-display-original-window-configuration} and
|
248
|
-
@kbd{M-x rdebug-display-byebug-window-configuration}.
|
249
|
-
|
250
|
-
If, for some reason, the byebug layout has been garbled you can
|
251
|
-
restore it to the original state using @kbd{M-x
|
252
|
-
rdebug-restore-byebug-window-layout}.
|
253
|
-
|
254
|
-
The byebug provides a number of different window layouts. The easies
|
255
|
-
way to try them out is to use the menu @kbd{<menu-bar> <byebug>
|
256
|
-
<layout>} and select any in the section starting with @code{Standard}.
|
257
|
-
|
258
|
-
|
259
|
-
@section The buffers
|
260
|
-
|
261
|
-
All buffers in this section share a set of commands for common byebug
|
262
|
-
operations and for switching between buffers. In addition, each buffer
|
263
|
-
has got a set of dedicated commands.
|
264
|
-
|
265
|
-
All byebug buffers, with the exception of source and the byebug
|
266
|
-
shell window, are called @emph{secondary buffers}.
|
267
|
-
|
268
|
-
@subsection Keybindings for all Byebug Windows
|
269
|
-
|
270
|
-
The byebug provides key-bindings that work in all byebug windows,
|
271
|
-
including Ruby source buffers. The key bindings are designed to match
|
272
|
-
keys of commonly used byebug environments.
|
273
|
-
|
274
|
-
The variable @code{rdebug-populate-common-keys-function} can be assigned
|
275
|
-
to a function that should bind the keys use. Three functions are
|
276
|
-
provided @code{rdebug-populate-common-keys-standard},
|
277
|
-
@code{...-eclipse}, and @code{...-netbeans}.
|
278
|
-
|
279
|
-
@multitable @columnfractions 0.4 0.2 0.2 0.2
|
280
|
-
@headitem Command @tab Standard @tab Eclipse @tab Netbeans
|
281
|
-
@item Run @tab f5 @tab @tab
|
282
|
-
@item Quit @tab S-f5 @tab @tab
|
283
|
-
@item Toggle Breakpoint @tab f9 @tab @tab
|
284
|
-
@item Enable/Disable Breakpoint @tab C-f9 @tab S-C-b @tab S-f8
|
285
|
-
@item Step over @tab f10 @tab f6 @tab f8
|
286
|
-
@item Step into @tab f11 @tab f5 @tab f7
|
287
|
-
@item Step out @tab S-f11 @tab f7 @tab M-S-f7
|
288
|
-
|
289
|
-
@end multitable
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
@subsection Keybindings for Secondary Buffers
|
294
|
-
|
295
|
-
The following commands are available in all secondary windows.
|
296
|
-
|
297
|
-
Capital letters move between secondary buffers as mentioned above (jump
|
298
|
-
to if visible or replace a secondary if not).
|
299
|
-
|
300
|
-
@table @kbd
|
301
|
-
@item SPACE
|
302
|
-
step (edebug compatible)
|
303
|
-
@item <
|
304
|
-
Up in the stack trace
|
305
|
-
@item >
|
306
|
-
Down in the stack trace
|
307
|
-
@item ?
|
308
|
-
Help
|
309
|
-
@item B
|
310
|
-
Display breakpoints buffer
|
311
|
-
@item C
|
312
|
-
Display command buffer
|
313
|
-
@item O
|
314
|
-
Display program output
|
315
|
-
@item S
|
316
|
-
Display source window
|
317
|
-
@item T
|
318
|
-
Display stack trace buffer
|
319
|
-
@item V
|
320
|
-
display variables buffer
|
321
|
-
@item W
|
322
|
-
display watch buffer
|
323
|
-
@item b
|
324
|
-
Set breakpoint
|
325
|
-
@item c
|
326
|
-
Continue (i.e. run)
|
327
|
-
@item d
|
328
|
-
Remove breakpoint
|
329
|
-
@item f
|
330
|
-
Finish (i.e. step out of the current function)
|
331
|
-
@item n
|
332
|
-
Next (i.e. step into function)
|
333
|
-
@item p
|
334
|
-
print
|
335
|
-
@item q
|
336
|
-
Quit
|
337
|
-
@item r
|
338
|
-
Restart
|
339
|
-
@item s
|
340
|
-
Step (i.e. step over function)
|
341
|
-
@end table
|
342
|
-
|
343
|
-
You can use the same commands in the source buffer if you enable
|
344
|
-
@code{rdebug-short-key-mode}. The best way to do this is to add the
|
345
|
-
following to your init file:
|
346
|
-
|
347
|
-
@smallexample
|
348
|
-
(add-hook 'rdebug-mode-hook 'rdebug-turn-on-short-key-mode)
|
349
|
-
@end smallexample
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
@subsection The Byebug Shell Buffer
|
354
|
-
|
355
|
-
The @emph{byebug shell window} is the main communication channel
|
356
|
-
between @value{DBG} and @value{Emacs}. You can use the shell to issue
|
357
|
-
byebug commands directly. In addition, any @value{Emacs} byebug
|
358
|
-
command you issue will be translated into shell commands, and the output
|
359
|
-
will be parsed.
|
360
|
-
|
361
|
-
It is the ambition that the @value{Emacs} byebug interface should be
|
362
|
-
in a state where the byebug shell window would not need to be visible.
|
363
|
-
|
364
|
-
@subsection The Source Buffer
|
365
|
-
|
366
|
-
The @emph{source buffers} (or buffers) contains the actual Ruby source
|
367
|
-
code that is being debugged. A small arrow in the left fringe displays
|
368
|
-
the current line. Active breakpoints are displayed as red dots and
|
369
|
-
passive as grey.
|
370
|
-
|
371
|
-
@subsection The Output Buffer
|
372
|
-
|
373
|
-
The @emph{output buffer} displays any output the debugged program emits.
|
374
|
-
|
375
|
-
The option @code{rdebug-use-separate-io-buffer} controls if the output
|
376
|
-
buffer should be used, or if the output would go into the byebug shell
|
377
|
-
buffer.
|
378
|
-
|
379
|
-
@subsection The Variables Buffer
|
380
|
-
|
381
|
-
In this buffer, local and object variables are displayed. The values of
|
382
|
-
the variables can be edited.
|
383
|
-
|
384
|
-
@table @kbd
|
385
|
-
@item RET
|
386
|
-
Edit the value
|
387
|
-
@item e
|
388
|
-
Print the value
|
389
|
-
@item x
|
390
|
-
Pretty-print the value
|
391
|
-
@end table
|
392
|
-
|
393
|
-
@subsection The Stack Trace Buffer
|
394
|
-
|
395
|
-
The @emph{stack trace} buffer displays the function that is currently
|
396
|
-
being byebug, the function that called it, etc., all the way up to the
|
397
|
-
originally called function.
|
398
|
-
|
399
|
-
You can navigate in the stack trace buffer in order to see the source of
|
400
|
-
any function in the call chain. The Variables buffer will also be
|
401
|
-
updated to reflect the local variables of that function.
|
402
|
-
|
403
|
-
@table @kbd
|
404
|
-
@item RET
|
405
|
-
Select a function to display
|
406
|
-
@item <digits>
|
407
|
-
Go to a stack frame
|
408
|
-
@end table
|
409
|
-
|
410
|
-
@subsection The Watch Buffer
|
411
|
-
|
412
|
-
The @emph{Watch Buffer} can display arbitrary expressions, including,
|
413
|
-
but not limited to, global variables.
|
414
|
-
|
415
|
-
@table @kbd
|
416
|
-
@item a
|
417
|
-
Add a watch expression
|
418
|
-
@item C-d, d
|
419
|
-
Delete a watch expression
|
420
|
-
@item RET, e
|
421
|
-
Edit a watch expression
|
422
|
-
@item <digits>
|
423
|
-
Go to the expression
|
424
|
-
@end table
|
425
|
-
|
426
|
-
@subsection The Breakpoints Buffer
|
427
|
-
|
428
|
-
The @emph{Breakpoints Buffer} displays all breakpoints that currently are
|
429
|
-
defined and shows if they are enabled or disabled.
|
430
|
-
|
431
|
-
@table @kbd
|
432
|
-
@item t
|
433
|
-
Toggle a breakpoint between enabled and disabled
|
434
|
-
@item i
|
435
|
-
Add a breakpoint condition
|
436
|
-
@item ret
|
437
|
-
Goto a breakpoint
|
438
|
-
@item C-d
|
439
|
-
Delete a breakpoint
|
440
|
-
@item <digits>
|
441
|
-
Go to the expression
|
442
|
-
@end table
|
443
|
-
|
444
|
-
@subsection The Help Buffer
|
445
|
-
|
446
|
-
The @emph{Help Buffer} is displayed whenever you press @code{?}. It will
|
447
|
-
display a help text on the available byebug commands and commands to
|
448
|
-
navigate between the buffers.
|
449
|
-
|
450
|
-
|
451
|
-
@c -------------------------------------------------------------------
|
452
|
-
|
453
|
-
@node Byebug Buffers, Emacs Byebug Commands, The Multi-window Mode, Top
|
454
|
-
@chapter Byebug Buffers
|
455
|
-
|
456
|
-
@menu
|
457
|
-
* Byebug Command Buffer::
|
458
|
-
* Emacs Source:: Commands from the source script
|
459
|
-
@end menu
|
460
|
-
|
461
|
-
@node Byebug Command Buffer, Emacs Source, Byebug Buffers, Byebug Buffers
|
462
|
-
@section Emacs Byebug Command buffer
|
463
|
-
|
464
|
-
Each time @value{DBG} displays a stack frame, Emacs automatically finds the
|
465
|
-
source file for that frame and puts an arrow (@samp{=>}) at the
|
466
|
-
left margin of the current line. Emacs uses a separate buffer for
|
467
|
-
source display, and splits the screen to show both your @value{DBG} session
|
468
|
-
and the source.
|
469
|
-
|
470
|
-
Explicit @value{DBG} @code{list} or search commands still produce output as
|
471
|
-
usual, but you probably have no reason to use them from GNU Emacs.
|
472
|
-
|
473
|
-
@quotation
|
474
|
-
@emph{Warning:} If the directory where your script resides is not your
|
475
|
-
current directory, it can be easy to confuse Emacs about the location of
|
476
|
-
the source files, in which case the auxiliary display buffer does not
|
477
|
-
appear to show your source. @value{DBG} can find programs by searching your
|
478
|
-
environment's @code{PATH} variable, so the @value{DBG} input and output
|
479
|
-
session proceeds normally; but Emacs does not get enough information
|
480
|
-
back from @value{DBG} to locate the source files in this situation. To
|
481
|
-
avoid this problem, either start @value{DBG} mode from the directory where
|
482
|
-
your script resides, or specify an absolute file name when prompted for the
|
483
|
-
@kbd{M-x gdb} argument.
|
484
|
-
|
485
|
-
A similar confusion can result if you use the @value{DBG} @code{file} command to
|
486
|
-
switch to debugging a program in some other location, from an existing
|
487
|
-
@value{DBG} buffer in Emacs.
|
488
|
-
@end quotation
|
489
|
-
|
490
|
-
@noindent
|
491
|
-
(preceded by @kbd{M-:} or @kbd{ESC :}, or typed in the @code{*scratch*} buffer, or
|
492
|
-
in your @file{.emacs} file).
|
493
|
-
|
494
|
-
In the @value{DBG} I/O buffer, you can use the Emacs commands listed
|
495
|
-
below in addition to the standard Shell mode commands. The I/O buffer
|
496
|
-
name name is usually @code{*gud-}@emph{script-name}@code{*}, where
|
497
|
-
@emph{script-name} is the name of the script you are debugging.
|
498
|
-
|
499
|
-
Many of the commands listed below are also bound to a second key
|
500
|
-
sequence which also can be used in the also be used in the source
|
501
|
-
script. These are listed in @ref{Emacs Source}.
|
502
|
-
|
503
|
-
In secondary buffers many commands are available the corresponding
|
504
|
-
final keystroke. For example @code{C-c n} in a secondary buffer is
|
505
|
-
@code{n}.
|
506
|
-
|
507
|
-
@table @kbd
|
508
|
-
@item C-h m
|
509
|
-
Describe the features of Emacs' @value{DBG} Mode.
|
510
|
-
|
511
|
-
@item C-x C-a C-b (gud-break)
|
512
|
-
@pindex C-x C-a C-b (gud-break)
|
513
|
-
Set breakpoint at current line.
|
514
|
-
|
515
|
-
@item C-x C-a C-d (gud-remove)
|
516
|
-
@pindex C-x C-a C-d (gud-remove)
|
517
|
-
Remove breakpoint at current line.
|
518
|
-
|
519
|
-
@item C-x C-a C-l (gud-refresh)
|
520
|
-
@pindex C-x C-a C-d (gud-refresh)
|
521
|
-
Fix up a possibly garbled display, and redraw the arrow.
|
522
|
-
|
523
|
-
@item C-c RET (comint-copy-old-input)
|
524
|
-
@pindex C-c RET (comint-copy-old-input)
|
525
|
-
Insert after prompt old input at point as new input to be edited.
|
526
|
-
Calls `comint-get-old-input' to get old input.
|
527
|
-
|
528
|
-
@item C-c n (gud-next)
|
529
|
-
@pindex C-c n (gud-next)
|
530
|
-
Step one line, skipping functions. (Step over).
|
531
|
-
|
532
|
-
@item C-x C-a C-o (comint-delete-output)
|
533
|
-
@pindex C-c n (comint-delete-output)
|
534
|
-
Delete all output from interpreter since last input. Does not delete
|
535
|
-
the prompt.
|
536
|
-
|
537
|
-
@item C-x C-a C-r (gud-cont)
|
538
|
-
|
539
|
-
@item C-c SPC (gud-step @var{arg})
|
540
|
-
@pindex C-c SPC (gud-step @var{arg})
|
541
|
-
@itemx C-x C-a C-s (gud-step @var{arg})
|
542
|
-
@pindex C-x C-a C-s (gud-step @var{arg})
|
543
|
-
Step one source line. Same as @value{DBG} @code{step} command. The
|
544
|
-
@value{Emacs} command name is @code{gud-step} and @code{C-x C-a C-s}
|
545
|
-
is an alternate binding which can be used in the source
|
546
|
-
script.
|
547
|
-
@c @xref{Step}.
|
548
|
-
|
549
|
-
With a numeric argument, run that many times.
|
550
|
-
@xref{Arguments, , Numeric Arguments, Emacs, The @value{Emacs}
|
551
|
-
Manual}.
|
552
|
-
|
553
|
-
|
554
|
-
@item C-x C-a C-t (gud-tbreak @var{arg})
|
555
|
-
Set temporary breakpoint at current line.
|
556
|
-
|
557
|
-
@item C-x C-a C-w (backward-kill-word)
|
558
|
-
@item C-x C-a C-x (comint-get-next-from-history)
|
559
|
-
@item C-x C-a C-z (comint-stop-subjob)
|
560
|
-
Stop the current subjob.
|
561
|
-
This command also kills the pending input
|
562
|
-
between the process mark and point.
|
563
|
-
|
564
|
-
WARNING: if there is no current subjob, you can end up suspending
|
565
|
-
the top-level process running in the buffer. If you accidentally do
|
566
|
-
this, use M-x comint-continue-subjob to resume the process. (This
|
567
|
-
is not a problem with most shells, since they ignore this signal.)
|
568
|
-
|
569
|
-
@item C-x C-a C-\ (comint-quit-subjob)
|
570
|
-
Send quit signal to the current subjob.
|
571
|
-
This command also kills the pending input
|
572
|
-
between the process mark and point.
|
573
|
-
|
574
|
-
@item C-c + (gud-step-plus)
|
575
|
-
Run @code{step+}.
|
576
|
-
|
577
|
-
@item C-c . (comint-insert-previous-argument @var{index})
|
578
|
-
Insert the @emph{index-th} argument from the previous Comint command-line at point.
|
579
|
-
Spaces are added at beginning and/or end of the inserted string if
|
580
|
-
necessary to ensure that it's separated from adjacent arguments.
|
581
|
-
Interactively, if no prefix argument is given, the last argument is inserted.
|
582
|
-
Repeated interactive invocations will cycle through the same argument
|
583
|
-
from progressively earlier commands (using the value of index specified
|
584
|
-
with the first command).
|
585
|
-
|
586
|
-
@item C-c < (gud-up)
|
587
|
-
Go up a stack frame. With a numeric argument, go up that many
|
588
|
-
stack frames. Same @value{DBG} @code{up} command.
|
589
|
-
@xref{Arguments, , Numeric Arguments, Emacs, The @value{Emacs}
|
590
|
-
Manual}.
|
591
|
-
|
592
|
-
@item C-c > (gud-down)
|
593
|
-
Go down a stack frame. Same as @value{DBG} @code{down}.
|
594
|
-
With a numeric argument, go down that many stack frames.
|
595
|
-
@xref{Arguments, , Numeric Arguments, Emacs, The @value{Emacs}
|
596
|
-
Manual}.
|
597
|
-
|
598
|
-
@item C-c ? (rdebug-display-secondary-window-help-buffer)
|
599
|
-
Display the rdebug help buffer.
|
600
|
-
|
601
|
-
@item C-c B (rdebug-display-breakpoints-buffer)
|
602
|
-
Display the rdebug breakpoints buffer.
|
603
|
-
|
604
|
-
@item C-x C-a C (rdebug-display-cmd-buffer)
|
605
|
-
Display the rdebug command buffer.
|
606
|
-
|
607
|
-
@item C-c O (rdebug-display-output-buffer)
|
608
|
-
Display the rdebug output buffer.
|
609
|
-
|
610
|
-
@item C-c R (gud-run)
|
611
|
-
@itemx C-c r (gud run)
|
612
|
-
Restart or run the script. Same as @value{DBG} @code{run} command.
|
613
|
-
|
614
|
-
@item C-c S (gud-source-resync)
|
615
|
-
@item C-c T (rdebug-display-stack-buffer)
|
616
|
-
Display the rdebug stack buffer.
|
617
|
-
@item C-c V (rdebug-display-variables-buffer)
|
618
|
-
Display the rdebug variables buffer.
|
619
|
-
|
620
|
-
@item C-c W (rdebug-display-watch-buffer)
|
621
|
-
Display the rdebug watch buffer.
|
622
|
-
|
623
|
-
@item C-c f (gud-finish @var{arg})
|
624
|
-
@pindex C-c f (gud-finish @var{arg})
|
625
|
-
Finish executing current function.
|
626
|
-
|
627
|
-
@itemx C-x C-a C-f (gud-finish)
|
628
|
-
@pindex C-x C-a C-f (gud-finish)
|
629
|
-
Finish executing current function. The same as @value{DBG}
|
630
|
-
@code{finish} command.
|
631
|
-
@c @xref{Finish}.
|
632
|
-
|
633
|
-
@item C-c n (gud-next)
|
634
|
-
@pindex C-c n (gud-next)
|
635
|
-
Execute to next source line in this function, skipping all function
|
636
|
-
calls. Same as @value{DBG} @code{next} command.
|
637
|
-
@c @xref{Next}.
|
638
|
-
|
639
|
-
With a numeric argument, run that many times.
|
640
|
-
@c @xref{Arguments, , Numeric Arguments, Emacs, The @value{Emacs} Manual}.
|
641
|
-
|
642
|
-
@item C-c q (gud-quit)
|
643
|
-
|
644
|
-
@item C-x C-a C-l
|
645
|
-
Resynchronize the current position with the source window. The
|
646
|
-
@value{Emacs} command name is @code{gud-refresh} and @code{C-x C-a
|
647
|
-
C-l} is an alternate binding which also can be used in the source script.
|
648
|
-
|
649
|
-
@item C-c a
|
650
|
-
Shows argument variables (e.g.@: @code{$1}, @code{$2}) of the current
|
651
|
-
stack frame. Same as @value{DBG} @code{info args} command. The
|
652
|
-
@value{Emacs} command name is @code{gud-args} and @code{C-x C-a a} is
|
653
|
-
an alternate binding which also can be used in the source script.
|
654
|
-
|
655
|
-
@item C-c T
|
656
|
-
Show stack trace. Same as @value{DBG} @code{where} command. The
|
657
|
-
@value{Emacs} command name is @code{gud-where} and @code{C-x C-a T} is
|
658
|
-
an alternate binding which can be used in the source
|
659
|
-
script.
|
660
|
-
@c @xref{Backtrace}.
|
661
|
-
|
662
|
-
@end table
|
663
|
-
|
664
|
-
In any source file, the Emacs command @kbd{C-x SPC} (@code{gud-break})
|
665
|
-
tells @value{DBG} to set a breakpoint on the source line point is on.
|
666
|
-
|
667
|
-
If you accidentally delete the source-display buffer, an easy way to get
|
668
|
-
it back is to type the command @code{frame} in the @value{DBG} buffer, to
|
669
|
-
request a frame display; when you run under Emacs, this recreates
|
670
|
-
the source buffer if necessary to show you the context of the current
|
671
|
-
frame.
|
672
|
-
|
673
|
-
The source files displayed in Emacs are in ordinary Emacs buffers
|
674
|
-
which are visiting the source files in the usual way. You can edit
|
675
|
-
the files with these buffers if you wish; but keep in mind that @value{DBG}
|
676
|
-
communicates with Emacs in terms of line numbers. If you add or
|
677
|
-
delete lines from the text, the line numbers that @value{DBG} knows cease
|
678
|
-
to correspond properly with the code.
|
679
|
-
|
680
|
-
@xref{Byebug Operation, , , Emacs, The @value{Emacs}
|
681
|
-
Manual}.
|
682
|
-
|
683
|
-
@node Emacs Source, , Byebug Command Buffer, Byebug Buffers
|
684
|
-
@section Commands from the source script
|
685
|
-
|
686
|
-
@table @kbd
|
687
|
-
@item C-x SPC
|
688
|
-
|
689
|
-
tells @value{DBG} to set a breakpoint on the source
|
690
|
-
line point is on. (@code{gud-break})
|
691
|
-
|
692
|
-
@item C-x C-a t
|
693
|
-
|
694
|
-
@code{gud-linetrace}
|
695
|
-
|
696
|
-
@item C-x C-a C-f
|
697
|
-
Restart or run the script. Same as @value{DBG} @code{run} command. The
|
698
|
-
@value{Emacs} command name is @code{gud-finish}. In the corresponding
|
699
|
-
I/O buffer, @code{C-c R} is an alternate binding.
|
700
|
-
|
701
|
-
@item C-x C-a T
|
702
|
-
Show stack trace. Same as @value{DBG} @code{where} command. In the
|
703
|
-
corresponding I/O buffer, @code{C-c T} is an alternate
|
704
|
-
binding.
|
705
|
-
@c @xref{Backtrace}.
|
706
|
-
|
707
|
-
@item C-x C-a <
|
708
|
-
|
709
|
-
Go up a stack frame. With a numeric argument, go up that many
|
710
|
-
stack frames. Same @value{DBG} @code{up} command.
|
711
|
-
@xref{Arguments, , Numeric Arguments, Emacs, The @value{Emacs} Manual}.
|
712
|
-
|
713
|
-
The @value{Emacs} command name is @code{gud-up}. In the corresponding
|
714
|
-
I/O buffer, @code{C-c <} is an alternate binding.
|
715
|
-
|
716
|
-
@item C-x C-a >
|
717
|
-
|
718
|
-
Go down a stack frame. Same as @value{DBG} @code{down}.
|
719
|
-
With a numeric argument, go down that many stack frames.
|
720
|
-
@xref{Arguments, , Numeric Arguments, Emacs, The @value{Emacs}
|
721
|
-
Manual}.
|
722
|
-
|
723
|
-
The @value{Emacs} command name is @code{gud-down}. In the
|
724
|
-
corresponding I/O buffer, @code{C-c >} is an alternate binding.
|
725
|
-
|
726
|
-
@item C-x C-a C-t
|
727
|
-
|
728
|
-
@code{gud-tbreak}
|
729
|
-
|
730
|
-
@item C-x C-a C-s
|
731
|
-
|
732
|
-
Step one source line. Same as @value{DBG} @code{step}
|
733
|
-
command.
|
734
|
-
@c @xref{Step}.
|
735
|
-
|
736
|
-
With a numeric argument, run that many times.
|
737
|
-
@xref{Arguments, , Numeric Arguments, Emacs, The @value{Emacs}
|
738
|
-
Manual}.
|
739
|
-
|
740
|
-
The @value{Emacs} command name is @code{gud-step}. In the
|
741
|
-
corresponding I/O buffer, @code{C-x C-a C-s} is an alternate binding.
|
742
|
-
|
743
|
-
@item C-x C-a C-e
|
744
|
-
|
745
|
-
@code{gud-statement}
|
746
|
-
|
747
|
-
@item C-x C-a R
|
748
|
-
Restart or run the script. Same as @value{DBG} @code{run} command. The
|
749
|
-
@value{Emacs} command name is @code{gud-run}. In the corresponding I/O
|
750
|
-
buffer, @code{C-c R} is an alternate binding.
|
751
|
-
|
752
|
-
@item C-x C-a C-d
|
753
|
-
Delete breakpoint. @code{gud-remove}
|
754
|
-
|
755
|
-
@item C-x C-a C-p
|
756
|
-
|
757
|
-
@code{gud-print}
|
758
|
-
|
759
|
-
@item C-x C-a C-n
|
760
|
-
|
761
|
-
Execute to next source line in this function, skipping all function
|
762
|
-
calls. Same as @value{DBG} @code{next} command. With a numeric
|
763
|
-
argument, run that many times. @xref{Arguments, , Numeric Arguments,
|
764
|
-
Emacs, The @value{Emacs} Manual}.
|
765
|
-
|
766
|
-
The @value{Emacs} command name is @code{gud-next}. In the
|
767
|
-
corresponding I/O buffer, @code{C-x C-a C-n} is an alternate binding.
|
768
|
-
|
769
|
-
@item C-x C-a f C-f
|
770
|
-
|
771
|
-
@code{gud-finish}
|
772
|
-
|
773
|
-
@item C-x C-a C-r
|
774
|
-
Continue execution of your script Same as @value{DBG} @code{continue}
|
775
|
-
command. The @value{Emacs} command name is @code{gud-cont}. In the
|
776
|
-
corresponding I/O buffer, @code{C-x C-a C-r} is an alternate binding.
|
777
|
-
@c See @ref{Continue}.
|
778
|
-
|
779
|
-
@item C-x C-a C-b
|
780
|
-
|
781
|
-
@code{gud-break}
|
782
|
-
|
783
|
-
@item C-x C-a a
|
784
|
-
|
785
|
-
@code{gud-args}
|
786
|
-
Shows argument variables (e.g.@: @code{$1}, @code{$2}) of the current
|
787
|
-
stack frame. Same as @value{DBG} @code{info args} command. The
|
788
|
-
@value{Emacs} command name is @code{gud-args}. In the corresponding
|
789
|
-
I/O buffer, @code{C-c a} is an alternate binding which also can be
|
790
|
-
used in the source script.
|
791
|
-
|
792
|
-
@item C-x C-a C-l
|
793
|
-
Move to current position in this source window. The @value{Emacs}
|
794
|
-
command name is @code{gud-refresh}. In the corresponding I/O buffer,
|
795
|
-
@code{C-x C-a C-l} is an alternate binding.
|
796
|
-
|
797
|
-
@end table
|
798
|
-
|
799
|
-
@node Emacs Byebug Commands, Emacs Command Index, Byebug Buffers, Top
|
800
|
-
@chapter Emacs Byebug Commands
|
801
|
-
|
802
|
-
@menu
|
803
|
-
* Emacs Byebug Common Commands::
|
804
|
-
* Emacs Byebug Breakpoint Buffer Commands::
|
805
|
-
* Emacs Byebug Stack Buffer Commands::
|
806
|
-
* Emacs Byebug Variable Buffer Commands::
|
807
|
-
* Emacs Byebug Watch Buffer Commands::
|
808
|
-
* Emacs GUD Commands::
|
809
|
-
@end menu
|
810
|
-
|
811
|
-
@node Emacs Byebug Common Commands, Emacs Byebug Breakpoint Buffer Commands, Emacs Byebug Commands, Emacs Byebug Commands
|
812
|
-
@section Emacs Byebug Common Commands
|
813
|
-
|
814
|
-
The commands in this section are used to make a secondary buffer
|
815
|
-
visible. If the buffer doesn't exist, nothing is done.
|
816
|
-
The way the buffer is made visible is follows the following
|
817
|
-
rules tried in order:
|
818
|
-
|
819
|
-
@enumerate
|
820
|
-
@item
|
821
|
-
If the buffer doesn't exist, do nothing.
|
822
|
-
@item
|
823
|
-
If the buffer is already displayed, switch to it.
|
824
|
-
@item
|
825
|
-
If the current buffer is a
|
826
|
-
secondary buffer, bury it replacing with the requested
|
827
|
-
buffer.
|
828
|
-
@item
|
829
|
-
If there is secondary buffer visible, that
|
830
|
-
is replaced instead.
|
831
|
-
@item
|
832
|
-
Just pick a visible buffer to bury and replace.
|
833
|
-
@end enumerate
|
834
|
-
|
835
|
-
The commands are also have key bindings that end in an uppercase
|
836
|
-
letter. This letter is given in parenthesis. When in one of the
|
837
|
-
secondary buffers, the uppercase letter is bound to the command as well.
|
838
|
-
|
839
|
-
@table @kbd
|
840
|
-
|
841
|
-
@item (rdebug-display-breakpoints-buffer) (@kbd{B})
|
842
|
-
@findex rdebug-display-breakpoints-buffer (@kbd{B})
|
843
|
-
Display the rdebug breakpoints buffer. Bound to: @kbd{C-x C-a B},
|
844
|
-
@kbd{<menu-bar> <byebug> <view> <breakpoints>}. Secondary buffers:
|
845
|
-
@kbd{O}.
|
846
|
-
|
847
|
-
@item (rdebug-display-cmd-buffer) (@kbd{C})
|
848
|
-
@findex rdebug-display-cmd-buffer (@kbd{C})
|
849
|
-
Display the byebug command buffer.
|
850
|
-
|
851
|
-
Bound to: @kbd{C-x C-a C}, @kbd{<menu-bar> <byebug> <view> <shell>}.
|
852
|
-
|
853
|
-
@item (rdebug-display-output-buffer) (@kbd{O})
|
854
|
-
@findex rdebug-display-output-buffer (@kbd{?})
|
855
|
-
Display the byebug output buffer.
|
856
|
-
|
857
|
-
Bound to: @kbd{C-x C-a O}, @kbd{<menu-bar> <byebug> <view>
|
858
|
-
<output>}. Secondary buffers: @kbd{O}.
|
859
|
-
|
860
|
-
@item (rdebug-display-secondary-window-help-buffer) (@kbd{?})
|
861
|
-
@findex rdebug-display-secondary-window-help-buffer (@kbd{?})
|
862
|
-
|
863
|
-
@item (rdebug-display-stack-buffer) (@kbd{T})
|
864
|
-
@findex rdebug-display-stack-buffer (@kbd{T})
|
865
|
-
Display the byebug stack buffer. Bound to: @kbd{C-x C-a T},
|
866
|
-
@kbd{<menu-bar> <byebug> <view> <stack>}. Secondary buffers: @kbd{T}.
|
867
|
-
|
868
|
-
@item (rdebug-display-variables-buffer) (@kbd{V})
|
869
|
-
@findex rdebug-display-variables-buffer (@kbd{V})
|
870
|
-
Display the byebug variables buffer. Bound to: @kbd{C-x C-a V},
|
871
|
-
@kbd{<menu-bar> <byebug> <view> <variables>}. Secondary buffers:
|
872
|
-
@kbd{V}.
|
873
|
-
|
874
|
-
@item (rdebug-display-watch-buffer) (@kbd{W})
|
875
|
-
@findex rdebug-display-watch-buffer (@kbd{W})
|
876
|
-
Display the byebug variables buffer. Bound to: @kbd{C-x C-a W},
|
877
|
-
@kbd{<menu-bar> <byebug> <view> <watch>}. Secondary buffers: @kbd{V}.
|
878
|
-
|
879
|
-
@item (rdebug-display-byebug-window-configuration)
|
880
|
-
@findex rdebug-display-byebug-window-configuration
|
881
|
-
Display the current layout of windows of the rdebug Ruby byebug.
|
882
|
-
@item (rdebug-display-original-window-configuration)
|
883
|
-
@findex rdebug-display-original-window-configuration
|
884
|
-
Display the layout of windows prior to starting the rdebug Ruby
|
885
|
-
byebug. This function is called upon quitting the byebug and
|
886
|
-
@var{rdebug-many-windows} is not nil.
|
887
|
-
@item (rdebug-goto-entry-n)
|
888
|
-
@findex rdebug-goto-entry-n
|
889
|
-
Breakpoints, Display expressions and Stack Frames all have
|
890
|
-
numbers associated with them which are distinct from line
|
891
|
-
numbers. In a secondary buffer, this function is usually bound to
|
892
|
-
a numeric key. which will position you at that entry number. To
|
893
|
-
go to an entry above 9, just keep entering the number. For
|
894
|
-
example, if you press 1 and then 9, you should jump to entry
|
895
|
-
1 (if it exists) and then 19 (if that exists). Entering any
|
896
|
-
non-digit will start entry number from the beginning again.
|
897
|
-
@item (rdebug-quit) - q
|
898
|
-
@findex rdebug-quit (q)
|
899
|
-
Kill the byebug process associated with the buffer.
|
900
|
-
|
901
|
-
When @var{rdebug-many-windows} is active, the original window layout is
|
902
|
-
restored.
|
903
|
-
@item (rdebug-restore-windows)
|
904
|
-
@findex rdebug-restore-windows
|
905
|
-
Display the initial ruby byebug window layout.
|
906
|
-
|
907
|
-
@end table
|
908
|
-
|
909
|
-
|
910
|
-
@node Emacs Byebug Breakpoint Buffer Commands, Emacs Byebug Stack Buffer Commands, Emacs Byebug Common Commands, Emacs Byebug Commands
|
911
|
-
@section Emacs Byebug Breakpoint Buffer Commands
|
912
|
-
|
913
|
-
@table @kbd
|
914
|
-
@item (rdebug-goto-breakpoint)
|
915
|
-
@findex rdebug-goto-breakpoint
|
916
|
-
@item (rdebug-goto-breakpoint-mouse)
|
917
|
-
@findex rdebug-goto-breakpoint-mouse
|
918
|
-
@item (rdebug-breakpoints-mode)
|
919
|
-
@findex rdebug-breakpoints-mode
|
920
|
-
Major mode for displaying breakpoints in a secondary window. Uses
|
921
|
-
@var{rdebug-breakpoints-mode-map}.
|
922
|
-
@end table
|
923
|
-
|
924
|
-
@node Emacs Byebug Stack Buffer Commands, Emacs Byebug Variable Buffer Commands, Emacs Byebug Breakpoint Buffer Commands, Emacs Byebug Commands
|
925
|
-
@section Emacs Byebug Stack Buffer Commands
|
926
|
-
|
927
|
-
@table @kbd
|
928
|
-
@item (rdebug-goto-stack-frame)
|
929
|
-
@findex rdebug-goto-stack-frame
|
930
|
-
@item (rdebug-frames-mode)
|
931
|
-
@findex rdebug-frames-mode
|
932
|
-
Major mode for displaying the stack trace. Uses
|
933
|
-
@var{rdebug-frames-mode-map}.
|
934
|
-
@end table
|
935
|
-
|
936
|
-
@node Emacs Byebug Variable Buffer Commands, Emacs Byebug Watch Buffer Commands, Emacs Byebug Stack Buffer Commands, Emacs Byebug Commands
|
937
|
-
@section Emacs Byebug Variable Buffer Commands
|
938
|
-
|
939
|
-
@table @kbd
|
940
|
-
@item (rdebug-variables-edit)
|
941
|
-
@findex rdebug-variables-edit
|
942
|
-
@end table
|
943
|
-
|
944
|
-
@node Emacs Byebug Watch Buffer Commands, Emacs GUD Commands, Emacs Byebug Variable Buffer Commands, Emacs Byebug Commands
|
945
|
-
@section Emacs Byebug Watch Buffer Commands
|
946
|
-
|
947
|
-
@table @kbd
|
948
|
-
@item (rdebug-watch-add)
|
949
|
-
@findex rdebug-watch-add
|
950
|
-
Add a display expression.
|
951
|
-
@item (rdebug-watch-delete)
|
952
|
-
@findex rdebug-watch-delete
|
953
|
-
Delete a display expression.
|
954
|
-
@item (rdebug-watch-edit)
|
955
|
-
@findex rdebug-watch-edit
|
956
|
-
Edit a display expression.
|
957
|
-
@item (rdebug-watch-mode)
|
958
|
-
@findex rdebug-watch-mode
|
959
|
-
Major mode for displaying the display expressions. Uses
|
960
|
-
@var{rdebug-watch-mode-map}.
|
961
|
-
@end table
|
962
|
-
|
963
|
-
@node Emacs GUD Commands, , Emacs Byebug Watch Buffer Commands, Emacs Byebug Commands
|
964
|
-
@section Emacs Byebug GUD Commands
|
965
|
-
|
966
|
-
@table @kbd
|
967
|
-
@item (comint-copy-old-input)
|
968
|
-
@findex comint-copy-old-input
|
969
|
-
Insert after prompt old input at point as new input to be edited.
|
970
|
-
Calls `comint-get-old-input' to get old input.
|
971
|
-
@item (comint-delete-output)
|
972
|
-
@findex comint-delete-output
|
973
|
-
Delete all output from interpreter since last input.
|
974
|
-
Does not delete the prompt.
|
975
|
-
@item (gud-break)
|
976
|
-
@findex gud-break
|
977
|
-
Set a breakpoint on the source line point is on.
|
978
|
-
@item (gud-cont) - c
|
979
|
-
@findex gud-cont (c)
|
980
|
-
Continue execution.
|
981
|
-
@item (gud-next) - n
|
982
|
-
@findex gud-next (n)
|
983
|
-
Step one line, skipping functions. (Step over).
|
984
|
-
@item (gud-refresh)
|
985
|
-
@findex gud-refresh
|
986
|
-
Fix up a possibly garbled display, and redraw the arrow.
|
987
|
-
@item (gud-remove)
|
988
|
-
@findex gud-remove
|
989
|
-
Remove breakpoint at current line.
|
990
|
-
@item (gud-step) - s
|
991
|
-
@findex gud-step (s)
|
992
|
-
Step one statement. (Step into)
|
993
|
-
@item (gud-step-plus) - +
|
994
|
-
@findex gud-step-plus (+)
|
995
|
-
Run @code{step+}---like @code{gud-step} but ensure we go to a new
|
996
|
-
line.
|
997
|
-
@item (gud-tbreak @var{arg})
|
998
|
-
@findex gud-tbreak
|
999
|
-
Set temporary breakpoint at current line.
|
1000
|
-
@end table
|
1001
|
-
|
1002
|
-
@node Emacs Command Index, Emacs Function Index, Emacs Byebug Commands, Top
|
1003
|
-
@unnumbered Emacs Command Index
|
1004
|
-
@printindex pg
|
1005
|
-
|
1006
|
-
@node Emacs Function Index, Emacs Key Binding Index, Emacs Command Index, Top
|
1007
|
-
@unnumbered Emacs Function Index
|
1008
|
-
@printindex fn
|
1009
|
-
|
1010
|
-
@node Emacs Key Binding Index, , Emacs Function Index, Top
|
1011
|
-
@unnumbered Key Binding Index
|
1012
|
-
@printindex ky
|
1013
|
-
|
1014
|
-
@tex
|
1015
|
-
% I think something like @colophon should be in texinfo. In the
|
1016
|
-
% meantime:
|
1017
|
-
\long\def\colophon{\hbox to0pt{}\vfill
|
1018
|
-
\centerline{The body of this manual is set in}
|
1019
|
-
\centerline{\fontname\tenrm,}
|
1020
|
-
\centerline{with headings in {\bf\fontname\tenbf}}
|
1021
|
-
\centerline{and examples in {\tt\fontname\tentt}.}
|
1022
|
-
\centerline{{\it\fontname\tenit\/},}
|
1023
|
-
\centerline{{\bf\fontname\tenbf}, and}
|
1024
|
-
\centerline{{\sl\fontname\tensl\/}}
|
1025
|
-
\centerline{are used for emphasis.}\vfill}
|
1026
|
-
\page\colophon
|
1027
|
-
% Blame: doc@cygnus.com, 1991.
|
1028
|
-
@end tex
|
1029
|
-
|
1030
|
-
@bye
|