aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2006-06-06 23:16:32 +0000
committerNick Roberts2006-06-06 23:16:32 +0000
commitfc275000aac4d9ef89705b400007bb7b7cbd697f (patch)
tree8ade48c73251821a6d8648995543d5735b487ef0
parentafbef80c864e95c7c4fa9e21972941f5def24a68 (diff)
downloademacs-fc275000aac4d9ef89705b400007bb7b7cbd697f.tar.gz
emacs-fc275000aac4d9ef89705b400007bb7b7cbd697f.zip
(Watch Expressions): Move node to end.
(GDB Graphical Interface): Move description of clicks in fringe... (GDB commands in the Fringe): ...to here. New node.
-rw-r--r--man/building.texi175
1 files changed, 104 insertions, 71 deletions
diff --git a/man/building.texi b/man/building.texi
index 44f5ba32ce9..b55fc1e47c6 100644
--- a/man/building.texi
+++ b/man/building.texi
@@ -807,20 +807,9 @@ Fully qualified class name derived from the expression surrounding point
807interface, using Emacs windows for display program state information. 807interface, using Emacs windows for display program state information.
808In effect, this makes Emacs into an IDE (interactive development 808In effect, this makes Emacs into an IDE (interactive development
809environment). With it, you do not need to use textual GDB commands; 809environment). With it, you do not need to use textual GDB commands;
810you can control the debugging session with the mouse. 810you can control the debugging session with the mouse. For example,
811 811you can click in the fringe of a source buffer to set a breakpoint
812@c @findex gdb-mouse-set-clear-breakpoint 812there, or on a stack frame in the stack buffer to select that frame.
813@c @findex gdb-mouse-toggle-breakpoint
814 For example, you can click @kbd{Mouse-1} in the fringe or display
815margin of a source buffer to set a breakpoint there and, on a
816graphical display, a red bullet will appear on that line. If a
817breakpoint already exists on that line, the same click will remove it.
818You can also enable or disable a breakpoint by clicking @kbd{C-Mouse-1}
819on the bullet. If you drag the debugger arrow in the fringe with
820@kbd{Mouse-1} (@code{gdb-mouse-until}), execution will continue to the
821line where you release the button, provided it is still in the same
822frame. Alternatively, you can click @kbd{Mouse-3} at some point in
823the fringe of this buffer and execution will advance to there.
824 813
825 This mode requires telling GDB that its ``screen size'' is 814 This mode requires telling GDB that its ``screen size'' is
826unlimited, so it sets the height and width accordingly. For correct 815unlimited, so it sets the height and width accordingly. For correct
@@ -839,9 +828,11 @@ that way, you can use @kbd{M-x gdba} to invoke GDB in graphical mode.
839* GDB User Interface Layout:: Control the number of displayed buffers. 828* GDB User Interface Layout:: Control the number of displayed buffers.
840* Breakpoints Buffer:: A breakpoint control panel. 829* Breakpoints Buffer:: A breakpoint control panel.
841* Stack Buffer:: Select a frame from the call stack. 830* Stack Buffer:: Select a frame from the call stack.
842* Watch Expressions:: Monitor variable values in the speedbar.
843* Other GDB User Interface Buffers:: Input/output, locals, registers, 831* Other GDB User Interface Buffers:: Input/output, locals, registers,
844 assembler, threads and memory buffers. 832 assembler, threads and memory buffers.
833* GDB commands in the Fringe:: Use the mouse in the fringe/margin to
834 control your program.
835* Watch Expressions:: Monitor variable values in the speedbar.
845@end menu 836@end menu
846 837
847@node GDB User Interface Layout 838@node GDB User Interface Layout
@@ -958,62 +949,6 @@ frame and type @key{RET} (@code{gdb-frames-select}), or click
958selecting a stack frame updates it to display the local variables of 949selecting a stack frame updates it to display the local variables of
959the new frame. 950the new frame.
960 951
961@node Watch Expressions
962@subsubsection Watch Expressions
963@cindex Watching expressions in GDB
964
965@findex gud-watch
966@kindex C-x C-a C-w @r{(GUD)}
967 If you want to see how a variable changes each time your program
968stops, move point into the variable name and click on the watch icon
969in the tool bar (@code{gud-watch}) or type @kbd{C-x C-a C-w}. If you
970specify a prefix argument, you can enter the variable name in the
971minibuffer.
972
973 Each watch expression is displayed in the speedbar. Complex data
974types, such as arrays, structures and unions are represented in a tree
975format. Leaves and simple data types show the name of the expression
976and its value and, when the speedbar frame is selected, display the
977type as a tooltip. Higher levels show the name, type and address
978value for pointers and just the name and type otherwise. Root expressions
979also display the frame address as a tooltip to help identify the frame
980in which they were defined.
981
982 To expand or contract a complex data type, click @kbd{Mouse-2}
983on the tag to the left of the expression.
984
985@kindex D @r{(GDB speedbar)}
986@findex gdb-var-delete
987 To delete a complex watch expression, move point to the root
988expression in the speedbar and type @kbd{D} (@code{gdb-var-delete}).
989
990@kindex RET @r{(GDB speedbar)}
991@findex gdb-edit-value
992 To edit a variable with a simple data type, or a simple element of a
993complex data type, move point there in the speedbar and type @key{RET}
994(@code{gdb-edit-value}). Or you can click @kbd{Mouse-2} on a value to
995edit it. Either way, this reads the new value using the minibuffer.
996
997@vindex gdb-show-changed-values
998 If you set the variable @code{gdb-show-changed-values} to
999non-@code{nil} (the default value), Emacs uses
1000@code{font-lock-warning-face} to highlight values that have recently
1001changed and @code{shadow} face to make variables which have gone out of
1002scope less noticeable. When a variable goes out of scope you can't
1003edit its value.
1004
1005@vindex gdb-use-colon-colon-notation
1006 If the variable @code{gdb-use-colon-colon-notation} is
1007non-@code{nil}, Emacs uses the @samp{@var{function}::@var{variable}}
1008format. This allows the user to display watch expressions which share
1009the same variable name. The default value is @code{nil}.
1010
1011@vindex gdb-speedbar-auto-raise
1012To automatically raise the speedbar every time the display of watch
1013expressions updates, set @code{gdb-speedbar-auto-raise} to
1014non-@code{nil}. This can be useful if you are debugging with a full
1015screen Emacs frame.
1016
1017@node Other GDB User Interface Buffers 952@node Other GDB User Interface Buffers
1018@subsubsection Other Buffers 953@subsubsection Other Buffers
1019 954
@@ -1076,9 +1011,107 @@ Click @kbd{Mouse-1} on the appropriate part of the header line to
1076change the starting address or number of data items that the buffer 1011change the starting address or number of data items that the buffer
1077displays. Click @kbd{Mouse-3} on the header line to select the 1012displays. Click @kbd{Mouse-3} on the header line to select the
1078display format or unit size for these data items. 1013display format or unit size for these data items.
1014@end table
1015
1016@node GDB commands in the Fringe
1017@subsubsection GDB commands in the Fringe
1018@cindex GDB commands in the Fringe
1079 1019
1020@c @findex gdb-mouse-set-clear-breakpoint
1021@c @findex gdb-mouse-toggle-breakpoint
1022Many GDB commands can be entered using keybindings or the tool bar but
1023sometimes it is quicker to use the fringe. These commands either
1024manipulate breakpoints or control program execution. When there is no
1025fringe, you can use the margin but this is only present when the
1026source file already has a breakpoint.
1027
1028You can click @kbd{Mouse-1} in the fringe or display margin of a
1029source buffer to set a breakpoint there and, on a graphical display, a
1030red bullet will appear on that line. If a breakpoint already exists
1031on that line, the same click will remove it. You can also enable or
1032disable a breakpoint by clicking @kbd{C-Mouse-1} on the bullet.
1033
1034If you drag the debugger arrow in the fringe with @kbd{Mouse-1}
1035(@code{gdb-mouse-until}), execution will continue to the line where
1036you release the button, provided it is still in the same frame.
1037Alternatively, you can click @kbd{Mouse-3} at some point in the fringe
1038of this buffer and execution will advance to there. A similar command
1039(@code{gdb-mouse-jump}) allows you to jump to a source line without
1040executing the intermediate lines by clicking @kbd{C-Mouse-3}. This
1041command allows you to go backwards which can be useful for running
1042through code that has already executed, in order to examine its
1043execution in more detail.
1044
1045@table @kbd
1046@item Mouse-1
1047Set or clear a breakpoint.
1048
1049@item C-Mouse-1
1050Enable or disable a breakpoint.
1051
1052@item Mouse-3
1053Continue execution to here.
1054
1055@item C-Mouse-3
1056Jump to here.
1080@end table 1057@end table
1081 1058
1059@node Watch Expressions
1060@subsubsection Watch Expressions
1061@cindex Watching expressions in GDB
1062
1063@findex gud-watch
1064@kindex C-x C-a C-w @r{(GUD)}
1065 If you want to see how a variable changes each time your program
1066stops, move point into the variable name and click on the watch icon
1067in the tool bar (@code{gud-watch}) or type @kbd{C-x C-a C-w}. If you
1068specify a prefix argument, you can enter the variable name in the
1069minibuffer.
1070
1071 Each watch expression is displayed in the speedbar. Complex data
1072types, such as arrays, structures and unions are represented in a tree
1073format. Leaves and simple data types show the name of the expression
1074and its value and, when the speedbar frame is selected, display the
1075type as a tooltip. Higher levels show the name, type and address
1076value for pointers and just the name and type otherwise. Root expressions
1077also display the frame address as a tooltip to help identify the frame
1078in which they were defined.
1079
1080 To expand or contract a complex data type, click @kbd{Mouse-2}
1081on the tag to the left of the expression.
1082
1083@kindex D @r{(GDB speedbar)}
1084@findex gdb-var-delete
1085 To delete a complex watch expression, move point to the root
1086expression in the speedbar and type @kbd{D} (@code{gdb-var-delete}).
1087
1088@kindex RET @r{(GDB speedbar)}
1089@findex gdb-edit-value
1090 To edit a variable with a simple data type, or a simple element of a
1091complex data type, move point there in the speedbar and type @key{RET}
1092(@code{gdb-edit-value}). Or you can click @kbd{Mouse-2} on a value to
1093edit it. Either way, this reads the new value using the minibuffer.
1094
1095@vindex gdb-show-changed-values
1096 If you set the variable @code{gdb-show-changed-values} to
1097non-@code{nil} (the default value), Emacs uses
1098@code{font-lock-warning-face} to highlight values that have recently
1099changed and @code{shadow} face to make variables which have gone out of
1100scope less noticeable. When a variable goes out of scope you can't
1101edit its value.
1102
1103@vindex gdb-use-colon-colon-notation
1104 If the variable @code{gdb-use-colon-colon-notation} is
1105non-@code{nil}, Emacs uses the @samp{@var{function}::@var{variable}}
1106format. This allows the user to display watch expressions which share
1107the same variable name. The default value is @code{nil}.
1108
1109@vindex gdb-speedbar-auto-raise
1110To automatically raise the speedbar every time the display of watch
1111expressions updates, set @code{gdb-speedbar-auto-raise} to
1112non-@code{nil}. This can be useful if you are debugging with a full
1113screen Emacs frame.
1114
1082@node Executing Lisp 1115@node Executing Lisp
1083@section Executing Lisp Expressions 1116@section Executing Lisp Expressions
1084 1117