[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Sat, 14 Jun 2008 00:30:34 +0200
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)
I've hit a problem using gdb while debugging emacs, and though it may
well be user error and not related to Emacs at all, I hope I can get
some help here. I wanted to follow the execution of Fdisplay_buffer in
window.c (as it existed prior to its recent reimplementation in lisp).
I have an older Emacs source tree under
/Users/steve/lib/emacs-cvs-pre-unicode/src and with this as the working
directory I started gdb; here's the session:
(wd now: /Users/steve/lib/emacs-cvs-pre-unicode/src)
address@hidden:/Users/steve/lib/emacs-cvs-pre-unicode/src> gdb ./emacs
GNU gdb 22.214.171.12470726-cvs
Copyright (C) 2007 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i586-suse-linux"...
Using host libthread_db library "/lib/libthread_db.so.1".
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) [answered Y; input not from
DISPLAY = :0
TERM = xterm-256color
Breakpoint 1 at 0x8109336: file emacs.c, line 432.
Breakpoint 2 at 0x81233c9: file sysdep.c, line 1332.
(gdb) r -Q
Starting program: /Users/steve/lib/emacs-cvs-pre-unicode/src/emacs -Q
[Thread debugging using libthread_db enabled]
[New Thread 0xb6e928d0 (LWP 12617)]
Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb6e928d0 (LWP 12617)]
0xffffe410 in __kernel_vsyscall ()
(gdb) br /Users/steve/lib/emacs-cvs-pre-unicode/src/window.c:3840
Internal: readin window.c pst for
`/Users/steve/lib/emacs-cvs-pre-unicode/src/window.c' found when no symtab
(gdb) br window.c:3840
Breakpoint 3 at 0x8099956: file window.c, line 3840.
Breakpoint 3, Fdisplay_buffer (buffer=137869892, not_this_window=137636041,
warning: Source file is more recent than executable.
3840 p->next = o->next;
First, I do not understand the gdb response when I tried to set a
breakpoint using an absolute path, but it evidently failed to set the
breakpoint. Then I just used the file name and that did set the
breakpoint, and when it hit the breakpoint, gdb said it was in
Fdisplay_buffer, which is what I wanted, so this seemed to be ok. But
the next two lines, the last two listed above, are strange: the warning
that the source file is more recent than the executable, and the content
of the line at the breakpoint. In fact, this line is from window.c in
the directory /Users/steve/cvsroot/emacs/src, which is my source
directory of the Emacs CVS trunk (which does not contain Fdisplay_buffer
What happened here? And what do I have to do to be able to step through
Fdisplay_buffer in the older source code? I'd be grateful for any help.
- gdb problem,
Stephen Berman <=