aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2007-11-19 07:26:01 +0000
committerNick Roberts2007-11-19 07:26:01 +0000
commit1030a7b3f86fe3b4dbe4f6d30bd0dc7a8ccb33c8 (patch)
treeeab85393671fcab035ad9fa2f4c368ba309b4218
parent7157ea85b31cd7d1d460596dcb86bdc6c20a2736 (diff)
downloademacs-1030a7b3f86fe3b4dbe4f6d30bd0dc7a8ccb33c8.tar.gz
emacs-1030a7b3f86fe3b4dbe4f6d30bd0dc7a8ccb33c8.zip
Update commentary.
-rw-r--r--lisp/progmodes/gdb-ui.el41
1 files changed, 19 insertions, 22 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 4100fceb057..37758fc4441 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -43,12 +43,22 @@
43;; section in the GDB info manual. 43;; section in the GDB info manual.
44 44
45;; GDB developers plan to make the annotation interface obsolete. A new 45;; GDB developers plan to make the annotation interface obsolete. A new
46;; interface called GDB/MI (machine interface) has been designed to replace 46;; interface called GDB/MI (machine interface) has been designed to replace it.
47;; it. Some GDB/MI commands are used in this file through the CLI command 47;; Some GDB/MI commands are used in this file through the CLI command
48;; 'interpreter mi <mi-command>'. A file called gdb-mi.el is included with 48;; 'interpreter mi <mi-command>'. To help with the process of fully migrating
49;; GDB (6.2 onwards) that uses GDB/MI as the primary interface to GDB. It is 49;; Emacs from annotations to GDB/MI, there is an experimental package called
50;; still under development and is part of a process to migrate Emacs from 50;; gdb-mi in the Emacs Lisp Package Archive ("http://tromey.com/elpa/"). It
51;; annotations to GDB/MI. 51;; comprises of modified gud.el and a file called gdb-mi.el which replaces
52;; gdb-ui.el. When installed, this overrides the current files and invoking
53;; M-x gdb will use GDB/MI directly (starts with "gdb -i=mi"). When deleted
54;; ('d' followed by 'x' in Package Menu mode), the files are deleted and old
55;; functionality restored. This provides a convenient way to review the
56;; current status/contribute to its improvement. For someone who just wants to
57;; use GDB, however, the current mode in Emacs 22 is a much better option.
58;; There is also a file, also called gdb-mi.el, a version of which is included
59;; the GDB distribution. This will probably only work with versions
60;; distributed with GDB 6.5 or later. Unlike the version in ELPA it works on
61;; top of gdb-ui.el and you can only start it with M-x gdbmi.
52 62
53;; This mode SHOULD WORK WITH GDB 5.0 or later but you will NEED AT LEAST 63;; This mode SHOULD WORK WITH GDB 5.0 or later but you will NEED AT LEAST
54;; GDB 6.0 to use watch expressions. It works best with GDB 6.4 or later 64;; GDB 6.0 to use watch expressions. It works best with GDB 6.4 or later
@@ -69,25 +79,13 @@
69 79
70;;; Known Bugs: 80;;; Known Bugs:
71 81
72;; 1) Strings that are watched don't update in the speedbar when their 82;; 1) Cannot handle multiple debug sessions.
73;; contents change unless the first character changes. 83;; 2) If you wish to call procedures from your program in GDB
74;; 2) Cannot handle multiple debug sessions.
75;; 3) M-x gdb doesn't work with "run" command in .gdbinit, use M-x gdba instead.
76;; 4) M-x gdb doesn't work if the corefile is specified in the command in the
77;; minibuffer, use M-x gdba instead (or specify the core in the GUD buffer).
78;; 5) If you wish to call procedures from your program in GDB
79;; e.g "call myproc ()", "p mysquare (5)" then use level 2 annotations 84;; e.g "call myproc ()", "p mysquare (5)" then use level 2 annotations
80;; "gdb --annotate=2 myprog" to keep source buffer/selected frame fixed. 85;; "gdb --annotate=2 myprog" to keep source buffer/selected frame fixed.
81;; 6) After detaching from a process, clicking on the "GO" icon on toolbar 86;; 3) After detaching from a process, clicking on the "GO" icon on toolbar
82;; (gud-go) sends "continue" to GDB (should be "run"). 87;; (gud-go) sends "continue" to GDB (should be "run").
83 88
84;;; Problems with watch expressions, GDB/MI:
85
86;; 1) They go out of scope when the inferior is re-run.
87;; 2) -stack-list-locals has a type field but also prints type in values field.
88;; 3) VARNUM increments even when variable object is not created
89;; (maybe trivial).
90
91;;; TODO: 89;;; TODO:
92 90
93;; 1) Use MI command -data-read-memory for memory window. 91;; 1) Use MI command -data-read-memory for memory window.
@@ -223,7 +221,6 @@ handlers.")
223The directory containing FILE becomes the initial working 221The directory containing FILE becomes the initial working
224directory and source-file directory for your debugger. 222directory and source-file directory for your debugger.
225 223
226
227If `gdb-many-windows' is nil (the default value) then gdb just 224If `gdb-many-windows' is nil (the default value) then gdb just
228pops up the GUD buffer unless `gdb-show-main' is t. In this case 225pops up the GUD buffer unless `gdb-show-main' is t. In this case
229it starts with two windows: one displaying the GUD buffer and the 226it starts with two windows: one displaying the GUD buffer and the