comparison lispref/edebug.texi @ 77006:1f4b88ab053d

Improve index entries. Remove redundant/useless ones.
author Richard M. Stallman <rms@gnu.org>
date Sat, 07 Apr 2007 02:06:21 +0000
parents 6d19c76d81c5
children a1e16e813aed 4ef881a120fe
comparison
equal deleted inserted replaced
77005:2122b5496349 77006:1f4b88ab053d
10 10
11 @c , Bugs and Todo List, Top, Top 11 @c , Bugs and Todo List, Top, Top
12 12
13 @node Edebug, Syntax Errors, Debugger, Debugging 13 @node Edebug, Syntax Errors, Debugger, Debugging
14 @section Edebug 14 @section Edebug
15 @cindex Edebug mode 15 @cindex Edebug debugging facility
16 16
17 @cindex Edebug
18 Edebug is a source-level debugger for Emacs Lisp programs with which 17 Edebug is a source-level debugger for Emacs Lisp programs with which
19 you can: 18 you can:
20 19
21 @itemize @bullet 20 @itemize @bullet
22 @item 21 @item
193 @code{eval-region} records the position of every definition it 192 @code{eval-region} records the position of every definition it
194 evaluates, even if not instrumenting it. See also the @kbd{i} command 193 evaluates, even if not instrumenting it. See also the @kbd{i} command
195 (@pxref{Jumping}), which steps into the call after instrumenting the 194 (@pxref{Jumping}), which steps into the call after instrumenting the
196 function. 195 function.
197 196
198 @cindex special forms (Edebug)
199 @cindex interactive commands (Edebug)
200 @cindex anonymous lambda expressions (Edebug)
201 @cindex Common Lisp (Edebug)
202 @pindex cl.el @r{(Edebug)}
203 @pindex cl-specs.el
204 Edebug knows how to instrument all the standard special forms, 197 Edebug knows how to instrument all the standard special forms,
205 @code{interactive} forms with an expression argument, anonymous lambda 198 @code{interactive} forms with an expression argument, anonymous lambda
206 expressions, and other defining forms. However, Edebug cannot determine 199 expressions, and other defining forms. However, Edebug cannot determine
207 on its own what a user-defined macro will do with the arguments of a 200 on its own what a user-defined macro will do with the arguments of a
208 macro call, so you must provide that information using Edebug 201 macro call, so you must provide that information using Edebug
439 * Global Break Condition:: Breaking on an event. 432 * Global Break Condition:: Breaking on an event.
440 * Source Breakpoints:: Embedding breakpoints in source code. 433 * Source Breakpoints:: Embedding breakpoints in source code.
441 @end menu 434 @end menu
442 435
443 @node Breakpoints 436 @node Breakpoints
444 @subsubsection Breakpoints 437 @subsubsection Edebug Breakpoints
445 438
446 @cindex breakpoints 439 @cindex breakpoints (Edebug)
447 While using Edebug, you can specify @dfn{breakpoints} in the program you 440 While using Edebug, you can specify @dfn{breakpoints} in the program you
448 are testing: these are places where execution should stop. You can set a 441 are testing: these are places where execution should stop. You can set a
449 breakpoint at any stop point, as defined in @ref{Using Edebug}. For 442 breakpoint at any stop point, as defined in @ref{Using Edebug}. For
450 setting and unsetting breakpoints, the stop point that is affected is 443 setting and unsetting breakpoints, the stop point that is affected is
451 the first one at or after point in the source code buffer. Here are the 444 the first one at or after point in the source code buffer. Here are the
865 lines inserted. 858 lines inserted.
866 859
867 @node Coverage Testing 860 @node Coverage Testing
868 @subsection Coverage Testing 861 @subsection Coverage Testing
869 862
870 @cindex coverage testing 863 @cindex coverage testing (Edebug)
871 @cindex frequency counts 864 @cindex frequency counts
872 @cindex performance analysis 865 @cindex performance analysis
873 Edebug provides rudimentary coverage testing and display of execution 866 Edebug provides rudimentary coverage testing and display of execution
874 frequency. 867 frequency.
875 868
876 Coverage testing works by comparing the result of each expression with 869 Coverage testing works by comparing the result of each expression with
877 the previous result; each form in the program is considered ``covered'' 870 the previous result; each form in the program is considered ``covered''
878 if it has returned two different values since you began testing coverage 871 if it has returned two different values since you began testing coverage