Mercurial > emacs
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 |